home *** CD-ROM | disk | FTP | other *** search
/ Merciful 1 / Merciful - Disc 1.iso / software / p / pro_page / professional_page_3.txt < prev    next >
Text File  |  1995-10-14  |  139KB  |  3,316 lines

  1.  
  2.  
  3.  
  4.                   Professional Page 3.0 Supplement Manual
  5.  
  6.         This is just the Supplement Manual w/ the new functions of
  7.           PPage 3.0 (incl. all ARRex commands) use this with the
  8.                              old 2.1 Docs 
  9.  
  10.                   Professional Page 3.0 Supplement Manual
  11.                   ---------------------------------------
  12.  
  13.                              Table of Contents
  14.                              -----------------
  15.  
  16. 1. Introduction                                          1
  17.  
  18. 2. Hard Disk installation                                3
  19.    To Install Professional Page                          3
  20.  
  21. 3. Corrections to Manual                                 5
  22.    Changes to Keyboard Shortcuts                         6
  23.  
  24. 4. Improved Font Support                                 7
  25.    Adobe Type 1 Support                                  7
  26.    Using FontManager                                     7
  27.    Extra Fonts Included                                  9
  28.    Font Size                                             9
  29.  
  30. 5. New Page Design Features                             11
  31.    New Text Wrap Options                                11
  32.    New Text Import Filters                              11
  33.    Professional Draw V3.0 Fountain Fill Supported       12
  34.    Hot-Link to Professional Draw                        12
  35.    Undo                                                 12
  36.  
  37. 6. Improved Printing Capabilities                       15
  38.    Auto-Tiling                                          15
  39.    Improved Color Separation                            15
  40.  
  41. 7. Function Genies                                      17
  42.  
  43.    Executing a Function Genie                           17
  44.    Using the About Button                               17
  45.    Defining & Modifying Function Genies                 18
  46.    Function Genie List Management                       18
  47.    Function Key Genies                                  18
  48.    Unexpected Returns                                   19
  49.    The Supplied Function Genies                         19
  50.       ADProHotLink              GroupMove
  51.       Align                     GroupRotate
  52.       AllCaps                   GroupScale
  53.       AlterBoxesOnPages         GroupSpace
  54.       AutoImport                GroupTile
  55.       AutoSave                  InitialCaps
  56.       BoxAttr                   InsertDoc
  57.       BoxColors                 InsertPersonalInfo
  58.       Calculator                MailMerge
  59.       CommandLine               MakeBoxIntoColumns
  60.       CopyBoxAttributes         MakeGuides
  61.       CopyBoxContents           MovePage
  62.       CopyBoxToPages            NoCaps
  63.       CopyPageSpecs             ProCalcTableImport
  64.       CopyPages                 ProCalcTableUpdate
  65.       DeleteRange               ReplaceMergeCodes
  66.       DropCaps                  SavePrefs
  67.       DropShadowBox             SetPageSize
  68.       EnterPersonalInfo         SmallCaps
  69.       FindAndReplace            StepAndRepeat
  70.       GetTaggedText             SubScript
  71.       GreekBoxes                SubstituteFont
  72.       GroupAttr                 SuperScript
  73.       GroupCopyBoxAttr          TableImport
  74.       GroupCopyBoxContents      UnGreekBoxes
  75.       GroupCopyToPages          UnitsConverter
  76.       GroupDistribute
  77.  
  78. 8. Page Genies                                          33
  79.    Avery Labels                                         33
  80.    Business Report                                      34
  81.    Envelope                                             34
  82.    Full Page Ads                                        34
  83.    Traditional Newsletter                               35
  84.    Two-F old Brochure                                   35
  85.  
  86. 9. ARexx Support and Commands                           37
  87.    Technical Information                                37
  88.    Parameter & Return Information                       38
  89.    Page and Box Identifiers                             38
  90.    ARexx Commands                                       39
  91.  
  92.    General Functions Group Operations
  93.    User Interactive Functions PPage Parameter Settings
  94.    Page Operations Save & Load Operations
  95.    Page Parameters Dot Matrix Printing
  96.    Page PostScript Output Specs PostScript Printing
  97.    Box Operations Thumbnail Printing
  98.    Text Operations
  99.  
  100.  
  101. 1. INTRODUCTION
  102.  
  103. The new features incorporated into Professional Page for version 3.0
  104. offer a dramatic increase in the power of the application. Consequently,
  105. version 3.0 of Professional Page requires the use of a hard disk drive
  106. and two megabytes of RAM. Use of the Genies (which are automated
  107. sequences of operations) requires version 1.15 of ARexx. If you are using
  108. an earlier version of ARexx, you will need to get an updated version or
  109. (better still) Workbench 2.0, which includes ARexx V 1.15 as part of the
  110. operating system.
  111.  
  112. Although some of the new features are targeted at the needs of
  113. professional users, these enhancements offer more power and flexibility
  114. to all users, from the occassional hobbyist to the busy professional.
  115.  
  116. The additional capabilities can be grouped into four general categories:
  117.  
  118.    . Enhanced Font Support
  119.    . New Page Design Tools
  120.    . Improved Printing Capabilities
  121.    . Genies and ARexx Support
  122.  
  123. Some of the changes will be evident immediately upon loading Professional
  124. Page. For example, the Mop Tool has been replaced by the Genie Tool and
  125. the Page Move Tool has been replaced by the Undo Tool. Other changes will
  126. become evident as you begin to use version 3.0. One of the first of these
  127. that you will notice is the inclusion of named pages and boxes. This has
  128. been implemented to allow Genies to access objects by name. All of the
  129. additions and enhancements of Professional Page v3.0 are described in
  130. this addendum.
  131.  
  132.  
  133. 2. HARD DISK INSTALLATION
  134.  
  135. To use version 3.0 of Professional Page, the requisite files must be
  136. installed on your hard drive. Installation is accomplished by running
  137. two programs:
  138. lnstall_PPage and Install_CGFonts. You must run these programs from the
  139. Workbench! Instructions are given below but you may also wish to consult
  140. the HelpInstall program by double-clicking on its icon. If you wish, you
  141. may also print out the HelpInstall information by double-clicking on the
  142. PrintHelp icon.
  143.  
  144. To install Professional Page:
  145. Double-click on your hard drive's icon or on the icon of the partition
  146. onto which you want to install Professional Page. If you wish to install
  147. to a subdirectory or that partition, open the drawer for the desired
  148. subdirectory.
  149.  
  150. Insert the diskette containing the installation files into a floppy drive.
  151. Double-click the disk to open it and drag the icons for Install PPage and
  152. Install_CGFonts into the destination directory's window andclose the
  153. diskette.
  154.  
  155. Double-click the Install PPage icon and the installation will commence.
  156. You will be asked some questions relating to which files you want to
  157. install and, in the case of bitmap fonts, where you would like the files
  158. to be placed. When the installation process is complete, double-click the
  159. Install_CGFonts icon and respond as required.
  160.  
  161. For a general idea of the course of the installation process or to get
  162. more detailed instructions, double-click the HelpInstall icon.
  163.  
  164.  
  165. 3.CORRECTIONS TO MANUAL
  166.  
  167. In this section, we'll cover the corrections and updates to the main
  168. Professional Page manual. The page number of each item is in the margin
  169. to the left of the description. You may wish to mark the affected pages
  170. in the manual.
  171.  
  172. 8 The section entitled Making a Working Copv of Professional Page no
  173.   longer applies since version 3.0 of Professional Page requires a hard
  174.   disk. However, you should still make backup copies of the distribution
  175.   disks.
  176.  
  177. 20 Before undertaking the tutorial, you should first run Preferences to
  178.    set up your printer. Also on this page, it is stated that if the
  179.    program fails to load, it may be because you have only 512K of memory
  180.    and Professional Page requires a megabyte. Version 3.0 of Professional
  181.    Page actually requires two megabytes.
  182.  
  183. 23 At the bottom of the page it is stated that a Save of a newly-created
  184.    document will cause Professional Page to automatically name the
  185.    document "Untitled" and that it will be save to the default directory.
  186.    This is no longer the case. Now, when you select Save for an unnamed
  187.    document, it will function as does Save As. i.e. a file requester will
  188.    appear, allowing you to select the desired directory and specify a
  189.    descriptive name for your document.
  190.  
  191. 24 The section entitled "To clear the document in memory:" states that a
  192.    waiting requester appears when Project/New is selected. In fact, this
  193.    waiting only appears when changes have been made to the document since
  194.    the last Save operation.
  195.  
  196. 25 This page makes reference to a Sort button in a file requester. This
  197.    button has been removed; Professional Page sorts the filenames
  198.    automatically.
  199.  
  200. 26 The discussion of box creation instructs you to place the bottom right
  201.    corner of your box at the 7.5" x 3" position. There is no particular
  202.    significance to this location aside from the suggestion to use the
  203.    ruler line for reference.
  204.  
  205. 27 The second point under "To move a box:" states: "The coordinates of the
  206.    top left comer of the box appear on the right side of the menu strip,.."
  207.    It should read: "...on the left side..."
  208.  
  209. 39 The top line reads: "Click on the first file: NEWSLETTER1.txt".
  210.    This is the correct filename but it is not the first file shown in
  211.    the file requester.
  212.  
  213. 258 The definition of halftone as given on this page is really a
  214.     definition of the onscreen simulation of a halftone. In the printing
  215.     industry, halftone refers to the technique of breaking a continuous-
  216.     tone copy into v arious size dots to make it printable. It is a
  217.     reproduction of an image containing a gradual change from one tone to
  218.     another. When viewed from a normal distance, this collection of dots
  219.     simulates continuous tones.
  220.  
  221. Changes to Keyboard Shortcuts:
  222. There are several new keyboard equivalents in version 3.0 of Professional
  223. Page and one keyboard equivalent has been eliminated. You may wish to make
  224. some notes to this effect on your Quick Reference Card and/or in Appendix
  225. B of the main manual.
  226.  
  227.      . c[ - Box Impermeable Toggle
  228.        This shortcut has been eliminated and the text wrap options (see
  229.        Section 5) now take its place.
  230.  
  231.      . cY - Box Text Wrap Cycle.
  232.        This shortcut will cycle through the three styles of text wrap.
  233.  
  234.      . cW - Text Wrap Side Cycle
  235.        This shortcut will cycle through the text wrap side options.
  236.  
  237.      . A\ - Hot-link to Professional Draw
  238.        This is the shortcut for sending a clip from Professional Page to
  239.        Professional Draw for editing (see Section 5). It is equivalent
  240.        to the new menu selection Draw/PDraw.
  241.  
  242.      . aDEL - Delete Contents
  243.        This is the shortcut for deleting an article (text in a box or
  244.        chain of boxes). It is equivalent to the new menu selection
  245.        Box/Delete Contents which provides the functionality previously
  246.        offered by the Mop Tool.
  247.  
  248.      . cQ - Invoke Page Genies
  249.        This shortcut will initiate page creation via the Page Genie
  250.        facility. It is equivalent to the menu selection
  251.        Page/Create/from Genie.
  252.  
  253.  
  254. 4. IMPROVED FONT SUPPORT
  255.  
  256. Adobe Type 1 Support:
  257. A new utility has been added to the Professional Page package. This
  258. utility, FontManager, is used to convert an Adobe Type 1 font to a
  259. Compugraphic format font. Users of Professional Page may now access the
  260. full Adobe type library. In addition, the Compugraphic output of
  261. FontManager may also be used as system fonts under Workbench 2.0.
  262.  
  263. Using FontManager
  264. To convert an Adobe Type 1 font into a Compugraphic font, two files are
  265. required: the Printer Font Binary file and the Adobe Font metric file.
  266. The Printer Font Binary file contains the actual character outlines and,
  267. when supplied on MS-DOS format disks, these files are generally named
  268. <fontname>.PFB. The Adobe Font Metric file contains information concerning
  269. the placement of characters; i.e., width and kerning data. These files are
  270. generally named <fontname>.AFM on MS-DOS format disks. Both of these files
  271. must be present in FontManager's source directory for each Type 1 that you
  272. want to convert.
  273.  
  274. If you acquire Adobe fonts in a format other than MS-DOS, your font
  275. filenames may use other extensions. In that case, you will need to check
  276. with your supplier to determine which file contains font outlines and
  277. which file contains font metrics. FontManager will transparently convert
  278. fonts from any source MS-DOS, Macintosh or Amiga.
  279.  
  280. Run FontManager by double-clicking on its icon. The program opens a window
  281. with a dual-directory di splay, one for source directory (where the tfont
  282. binary and font metric files are located) and one for destination
  283. directory (generally CGFonts :). Each directory list box has the standard
  284. gadgets associated with such objects; the scrollbar, a pair of scroll
  285. buttons and a string gadget containing the pathname. In addition, each
  286. list box has four other gadgets.
  287.  
  288. The first is the module gadget which is located atop the directory list.
  289. The source module is Adobe Type 1 and the destination module is either
  290. CG Library or CG Library 020 +881. If you are using an accelerated Amiga,
  291. you will want to use the latter module since a significant increase in
  292. speed will be realized. The second and third gadgets (the disk icon and
  293. the up-arrow by its side) offer an alternative to typing the pathnames
  294. into the string gadgets. Clicking on the disk icon will put a device list
  295. into the list box. This list contains physical devices (indicated as
  296. <DSK>) as well as assigned volumes (indicated as <LOG>).
  297. Double-click the name of the device and the files and subdirectories of
  298. that device will be displayed. Double-click on the directory that contains
  299. your Type 1 fonts. If you need to back up, click on the up-arrow gadget to
  300. view the parent directory. When the filnames of vour Tvpe 1 fonts appear
  301. in the requester, click on the font binary f.ile of the font that you wish
  302. to convert. If you wish, you may shift-click to select multiple fonts for
  303. conversion.
  304.  
  305. The fourth gadget is a 'fuel gauge' that is used to show the status of
  306. read/write operatious. The left gadget will fill as the source font is
  307. read in. When that gauge reached 100%, the destination gadget will begin
  308. to fill. When this gauge has reached 100%, the conversion is complete.
  309.  
  310. At the left of the window are the four gadgets that drive the application.
  311. Top to bottom. the four icons represent: Convert, Preview, Abort and
  312. Iconify. Convert will read in the source files and write out the proper
  313. Compugraphic format files to the destination directory. Preview will read
  314. in the source files and display a sample of the typeface in a new window.
  315. Abort will terminate an operation after first requesting your confirmation.
  316. If you're running Workbench 2.O, clicking Iconify will collapse
  317. FontManager's window into a tiny window.
  318.  
  319. To be used with Professional Page, each Compugraphic font must be
  320. comprised of three files: <fontname>.dat, <fontname>.lib and
  321. <fontname>.metric. With all three files in your CGFonts: volume, the font
  322. is ready to be used in your documents. These files are all that is needed
  323. for the onscreen display and for dot-matrix printing. However, you will
  324. need one more file if you intend to use the font in PostScript output the
  325. <fontname>.psfont file. This is the font definition file that is written
  326. into the PostScript output when you have selected Include Downloadable
  327. Fonts in the Output to PostScript requester. Such files reside in the
  328. CGFonts:ps directory.
  329.  
  330. When you click on Convert, FontManager will ask you if you want the
  331. downloadable font file to be placed into the CGFonts:ps directory.
  332. If you wish to print PostScript, you must answer affirmatively to this
  333. question; otherwise, nothing will be downloaded and a different font will
  334. be substituted when the file is actually printed.
  335.  
  336. Extra Fonts Included:
  337. In addition to the original 19 bitmap fonts, Professional Page is now
  338. supplied with seven Compugraphic fonts:
  339.  
  340.    . Caslon540
  341.    . CG Omega
  342.    . CG Times
  343.    . CG Triumvirate
  344.    . Garth Graphic
  345.    . Shannon Book
  346.    . Uncial
  347.  
  348. These typefaces can be used in a wide variety of typesetting situations.
  349. Due to the Compugraphic Bullet technology built into Professional Page,
  350. these typefaces are always represented as smooth outlines (both onscreen
  351. and in print).
  352.  
  353. Font Size:
  354. In version 3.0, you may specify font sizes to an eighth of a point. Any
  355. value may be entered in the Point Size requester; however, all values are
  356. rounded to the nearest eighth of a point. For example, a value of 12.062
  357. will result in a point size of 12.000, while a value of 12.063 will
  358. result in a point size of 12.125.
  359.  
  360. Although this degree of text rendering precision is beyond the
  361. capabilities of the Amiga monitor or of many dot matrix printers, high-
  362. resolution imagesetters are capable of reproducing fractional point sizes
  363. accurately.
  364.  
  365. Note that the Point Size requester now contains an Add to Menu gadget.
  366. When this gadget is deselected, the new point size will not be added to
  367. the list of point sizes in the menu. This is a convenient way of keeping
  368. the point size list to a manageable size by omitting 'one time only'
  369. point sizes.
  370.  
  371.  
  372. 5. NEW PAGE DESIGN FEATURES
  373.  
  374. New Text Wrap Options:
  375. Version 3.0 of Professional Page allows vou to define the text wrap
  376. options of a box. This replaces the permeable/impermeable featnre that
  377. was part of previous versions. There are two sets of options associated
  378. with the text wrap options.
  379. The first set consists of: None, Rectangle and Irregular. None is
  380. equivalent to the old Box Permeable; i.e., the box will not displace any
  381. text. Rectangle is equivalent to Box Impermeable; i.e., text will be
  382. displaced to flow around the box. Irregular will displace text to flow
  383. around any structured graphic.
  384.  
  385. When Irregular is selected, the second group of options come into play.
  386. They are: Widest, Left, Right and Exclude. Widest will flow text around
  387. the structured graphic on whichever side there is the most room. Left
  388. and Right will flow text around the specified side of the box. Exclude
  389. will not allow any text on either side of the box. Text will flow to the
  390. top of the box and will continue below the box bottom.
  391.  
  392. When your Text Wrap Option is set to Rectangle or Irregular, you should
  393. enter a value in the Text Standoff gadget to allow some whitespace
  394. between your graphic and the surrounding text.
  395.  
  396. New Text Import Filters:
  397. The addition of new text filters makes the process of importing text more
  398. convenient. These text filters understand the native formats of common
  399. Amiga word processors (such as ProWrite, QuickWrite, excellence!, etc.)
  400. and will retain text styles and some formatting information. lf you are
  401. using any of the supported word processors you need no longer save your
  402. text as ASCII but may instead Save in the software's own format. You
  403. should still refrain from attempting to incorporate graphic material into
  404. your text files however the graphic materials should be imported into
  405. Professional Page directly.
  406.  
  407. To accommodate the new formats, a new text filter management system has
  408. been implemented. You select the import format from a list box that
  409. appears when you select Import/Text from the menus. From time to time,
  410. Gold Disk will make additional filters available.
  411.  
  412. Professional Draw V3.0 Fountain Fill Supported:
  413. Professional Draw (V3.0) or higher) allows you to apply fountain fills to
  414. objects. Such fills are used as picture components or to provide shaded
  415. backdrops to your page elements. Judicious use of this technique may
  416. impart a more professional look to your pages. Incremental variation of
  417. backdrop shading is often seen in adverising materials, greeting cards,
  418. etc. In version 3.0 of Professional Page, fountain fills that are
  419. contained in Professional Draw clips are displayed and printed.
  420.  
  421. Hot-Link to Professional Draw:
  422. Users of Professional Page may now access the full power of Professional
  423. Draw directly from Professional Page. Clips may be transferred to
  424. Professional Draw for editing or adjustment. This function operates in the
  425. same manner as the hot-link to the Article Editor. For the hot-link to
  426. work, Professional Draw must be running. This will only work with
  427. Professional Draw V3.0 or higher.
  428.  
  429. To operate the hot-link, simply click on a box containing a Professional
  430. Draw clip and select PDraw from the Draw menu or press right-Amiga-
  431. backslash (the slash on the keyboard's top row).
  432.  
  433. Undo:
  434. The Undo feature is one that will be welcomed by users at all levels. If
  435. you shonld make a mistake or if an operation results in an undesirable
  436. side effect, simply click on Undo in the toolbox and your previous
  437. condition will be restored. The Undo Tool replaces the Page Move Tool in
  438. the Toolbox. You may still move the view of the page by means of the
  439. Page Move gadget or by using the cursor keys when not in Edit mode.
  440.  
  441. The following operations may be undone:
  442.  
  443.    . Changes made via the box attributes requester
  444.    . Changes made to the border data of a box
  445.    . Changes to the cropping of a box
  446.    . Deletion of a box
  447.    . Deletion of the contents of a box
  448.    . Repositioning of a box
  449.    . Reordering of a box (box to front/back)
  450.    . Rotation of a box
  451.    . Scaling of a box
  452.    . Aligning a group
  453.    . Centering a group
  454.    . Deleting a group
  455.    . Moving a group
  456.  
  457. Whenever you use one of the preceding operations, you create a situation
  458. in which an Undo operation is pending. When an Undo is pending, the Undo
  459. Tool is activated; when there is no pending Undo, the Undo Tool is
  460. ghosted. Note also that Undo works on the most recent operation only,
  461. without Redo; i.e. you cannot undo an Undo operation.
  462.  
  463. Further, some operations will cancel the pending Undo.
  464. These operations are:
  465.  
  466.    . Box Clone
  467.    . Box Import (hitmap, text, etc.)
  468.    . Box Link
  469.    . Box Unlink
  470.    . Create Box
  471.    . Edit Text
  472.    . Clone group
  473.    . Forget group
  474.    . Make group
  475.    . Merge group
  476.    . Delete page
  477.  
  478.  
  479. 6. IMPROVED PRINTING CAPABILITIES
  480.  
  481. Auto-Tiling:
  482. Auto-tiling allows you to produce output that is larger than your printer's
  483. physical page size. This function is available for Preferences printers as
  484. well as PostScript printers. You may define a page up to 48" x 48".
  485. Professional Page will output the oversize page in segments on a series of
  486. standard printer pages. If you commonly send oversize pages to a service
  487. bureau, this feature will allow you to proof the job on any available
  488. printer.
  489.  
  490. Improved Color Separation:
  491. Several improvements have been made to the color separation functions. Of
  492. primary concern to the user is the new manner of defining Undercolor
  493. Removal (UCR). UCR may now be specified as a threshold (expressed as a
  494. percentage). The percentage that you enter in the output requester
  495. specifies the minimum of YMC (yellow, magenta and cyan) below which no
  496. color is removed. Thus, UCR now removes grey only from the darkest areas,
  497. thereby retaining the subtleties of colors which might otherwise be lost.
  498. For more information about UCR and color separations in general, please
  499. consult the Professional Page main manual, Chapter 9: Using Color and
  500. Chapter 10: Output.
  501.  
  502.  
  503. 7. FUNCTION GENIES
  504.  
  505. Professional Page's new Function Genie facility is useful for automating
  506. common operations, creating special effects or maVing major changes to an
  507. existing document (such as changing the size of every page). In fact, it
  508. is now possible to do virtually anything with Professional Page with just
  509. a few clicks of the mouse! A number of sample Function Genies have been
  510. included in your Professional Page package.
  511.  
  512. Professional Page Function Genies are implemented as ARexx scripts so they
  513. require ARexx to function. Consequently, you must have ARexx running and
  514. the rexx: directory assigned. If the rexx: directory is not assigned i
  515. your system when you load Professional Page, you will be presented with
  516. a requester telling you to "Insert volume rexx: in any drive". If you
  517. have not run the RexxMast program to make ARexx available, you will
  518. get an error message saying "Genies require ARexx to operate." when you
  519. start Professional Page. If you get this message, quit Professional Page,
  520. start RexxMast and restart Professional Page.
  521.  
  522. Since Function Genies are actually ARexx scripts, the Genie facility
  523. allows you to run and even edit ARexx scripts from within the application
  524. itself. For more details of both the implementation and the av ailable
  525. ARexx commands, please see Section 9 of this Addendum.
  526.  
  527. Executing a Function Genie:
  528. When you select the Function Genie Tool (which resembles a smoking 'magic
  529. lamp') a list box will appear with the list of available Function Genies
  530. and a grouping of several buttons. The Function Genies displayed in the
  531. list box are not in memory, but are on disk (in rexx:). To execute a
  532. Function Genie, simply double-click on it (or select it from the list and
  533. click on the Execute button). Some Function Genies involve prompts to the
  534. user. These prompts are displayed on the title bar.
  535.  
  536. Using the About Button:
  537. Information is available which describes the use of each Function Genie.
  538. After you select the Function Genies Tool and the list box shows the
  539. available Function Genies, simply select the desired Genie with the mouse
  540. and click on the About button. A window will open and the information for
  541. that Function Genie will be displayed.
  542.  
  543. Defining & Modifying Function Genies:
  544. New Function Genies may be created by clicking on the Define button.
  545. This will bring to the front the Article Editor so that you may enter the
  546. ARexx script for your Function Genie. You may also edit existing scripts
  547. by selecting one from the list box and clicking on the Modify button. Do
  548. not use any style changes (i.e bold, italic) as ARexx will consider them
  549. to be errors.
  550.  
  551. When you have finished editing, choose Send Text Home in the Article
  552. Editor's Special menu to send the script back to Professional Page (just
  553. as you do when editing text). The program will prompt you for a name for
  554. the newly-created Genie and it will automatically be saved to the rexx:
  555. directory. You need not append a suffix to the name as Professional Page
  556. will automatically append a .pprx extension (which will not appear in the
  557. Genie list).
  558.  
  559. When creating a new Function Genie, you must begin with a comment line.
  560. ARexx requires this. A comment in ARexx begins with "/*" and ends with "*/"
  561. Here are some examples:
  562.  
  563. /* This is an ARexx comment. */
  564.  
  565. /*
  566. The comment need not be en a single line. It just
  567. needs to start and end wIth the right characters.
  568. */
  569.  
  570. It's a good idea to use the comment line for describing the program's
  571. function since the information contained in this initial comment is
  572. displayed when you click on the About button.
  573.  
  574. Function Genie List Management:
  575. The install PPage program will place the Function Genies into the rexx:
  576. directory. When you select the Function Genie Tool, the list box will
  577. display that list of the available Function Genies. However, if you have
  578. Genies in a directory other than rexx:, you may still access them by
  579. clicking on the import button which will bring up a file requester.
  580. Importing a Function Genie in this way will make it available by copying
  581. it to the rexx: directory.
  582.  
  583. The Delete button allows you to delete a Function Genie. However, you
  584. should be aware that it is the Function Genie file on disk that is
  585. actually deleted and, once deleted, the file is not recoverable.
  586.  
  587. Function Key Genies:
  588. You may assign a function key shortcut to any Function Genie by selecting
  589. the desired Function Genie and clicking on the Keys button. Professional
  590. Page will then prompt you to hit a Shortcut key. This must be either the
  591. Alt key in conjunction with one of the function keys or Alt-Shift in
  592. conjunction with a function key. The keyboard shorcut associated with a
  593. Function Genie (if any) is displayed to the right of the Genie's name.
  594. To cancel a shortcut assignment, simply select the Function Genie, click
  595. on Keys, and hit the Esc key.
  596.  
  597. Unexpected Returns:
  598. If ARexx encounters any problems when a Function Genie is executed, a
  599. Results from ARexx command screen will pop up to allow you to read the
  600. ARexx messages and/or errors generated by the execution of the Function
  601. Genie. You are likely to see this screen when developing new Genies.
  602.  
  603. If there are more messages and/or errors than will fit on the screen,
  604. the word "[MORE]" will appear at the bottom right of the screen. You may
  605. use the cursor keys or the left mouse button to scroll through the list.
  606. When you are finished reading your results, you can close the screen by
  607. pressing the 'q' key, the Return key or by pressing the right mouse button.
  608.  
  609. The Supplied Function Genies:
  610. The reminder of this section is devoted to a description of the purpose
  611. and operation of the Function Genies that are included in your Professional
  612. Page package. Note that many of these Genies will put prompts and status
  613. reports into the Professional Page title bar and consequently you must be
  614. attentive to changes in the title bar.
  615.  
  616. Some Genies (Calculator, SmallCaps, NoCaps, FindAndReplace, AllCaps, etc.)
  617. require the Use of gdarexxsupport.library. This file is placed into your
  618. libs: directory automatically when you run Install PPage. If the file is
  619. removed from your libs: directory, you will get an error message from any
  620. Genie that requires the use of this library. Copying the
  621. gdarexxsupport.library file to your libs: directory will allow you to
  622. continue.
  623.  
  624. ADProHotLink:
  625. This Genie will run Art Department Professional (published by ASDG
  626. Incorporated) and pass a bitmap graphic to it from your Professional Page
  627. document. First, you are prompted on the title bar to select a box
  628. containing a bitmap. Click in the desired box. If it does not contain a
  629. bitmap, you will get an error and the Genie will terminate.
  630. When a valid box is selected, you will be presented with a list box that
  631. contains the ADPro screen modes: HIRES, V_OVERSCAN, INTERLACE, PAL and
  632. H_OVERSCAN. Select the desired mode and click on OK. Next, you must
  633. select the Render Mode for ADPro. Click on your choice and click on OK.
  634. The next requester prompts for the image dimensions. The values shown in
  635. the Width and Height string gadgets represent the size of your bitmap in
  636. pixels. The Genie will then try to run ADPro. If ADPro exists under that
  637. name in an assigned volume named ADPro: (i.e. the full path is
  638. ADPro:ADPro), it will run automatically; otherwise, a file requester will
  639. appear so that you can tell the Genie where to find ADPro.
  640.  
  641. You must save your changes to the bitmap file and quit ADPro to continue
  642. using Professional Page. The Genie will sleep until you quit ADPro; at
  643. which time, your graphic will be returned to its box in the Professional
  644. Page document while "Reimporting bitmap.." appears in the title bar.
  645.  
  646. Align:
  647. This Genie aligns boxes at a user-specified position. You are prompted to
  648. click on the boxes to be aligned. Each time you select a box, a boxnumber
  649. is returned to the Genie. Once you have clicked on all the boxes you want
  650. to align, click on the page itself or on the art board. Clicking on a
  651. position where there is no box returns a boxnumber of 0, which signals the
  652. Genie that you are finished selecting boxes.
  653.  
  654. The Select alignment.. list box will prompt you for the type of alignment.
  655. Supported alignments are: Bottom, Center Horizontally, Center Vertically,
  656. Left, Right an Top. Make your selection and click on OK. In the next
  657. requester, enter the position (in current units) on the page where the
  658. boxes are to be aligned. For example, selecting Top for alignment and 1
  659. for position (with inches as the current units), will align the tops of
  660. the selected boxes at the 1" mark of the vertical ruler.
  661.  
  662. AllCaps:
  663. This Genie will convert a selected block of text to all uppercase. You
  664. must be in edit mode. If you try to invoke it from any other mode, an
  665. error message will appear. If you have not selected a block of text, you
  666. will get an ARexx error message.
  667.  
  668. AlterBoxesOnPages:
  669. This is handy if you have already created some pages from the templates
  670. or the default and then wish to change the attributes of one of the
  671. component boxes. This Genie will alter the occurrence of that component
  672. box on each of the page in a specified range.
  673.  
  674. You are prompted (on the title bar) to select the recurring box that you
  675. wish to alter. A list box will appear, allowing you to choose the attribute
  676. to be altered. A requester will prompt you for the change(s) to be made.
  677. Another requester prompts you to specify the range of pages to be altered.
  678. Enter the swing page number of the range in the From gadget and the ending
  679. page number of the range in the To gadget. The third gadget in this
  680. requester allows you to choose whether to apply the changes to odd pages,
  681. even pages or all pages in the specified range.
  682.  
  683. AutoImport:
  684. This Genie will import a text file and paste it into your document,
  685. creating as many pages as required to accommodate the entire file. First,
  686. create a page and then execute this Genie. You will be prompted to click
  687. on the box into which the text is to be imported. There may be several
  688. linked boxes on the page. Click in the first box of the chain. The box
  689. must be empty. After you've clicked on the box, a file requester will
  690. appear, allowing you to select your text file.
  691.  
  692. When that is done, the Genie imports the text file and pastes it into the
  693. selected box. If the text overflows that box, a new page is created. The
  694. newly-created page will be a duplicate of the first page in the chain.
  695. Each new page is automatically linked to the previous page. This process
  696. continues until all text has been flowed into the document.
  697.  
  698. The first page in the chain need not be the last in the document; the
  699. resulting pages are inserted. In other words, if you have a four-page
  700. document and you AutoImport a file which requires two pages into page 3,
  701. a new page 4 will be created for your file and the original page 4 will
  702. become page 5.
  703.  
  704. AutoSave:
  705. This Genie can spare you a lot of grief. It will prompt you to save your
  706. work at regular intervals and, optionally, creak a backup file for you.
  707. The backup file is the original copy of the file for this session. For
  708. example, if you run Professional Page and load a document file called
  709. MyDoc, a backup file file of that version of the document is made
  710. (MyDoc.bak) and each time you save, the file MyDoc is updated. For the
  711. duration of that session, MyDoc.bak will remain the same. The next time
  712. you run Professional Page and work with MyDoc, a new MyDoc.bak file will
  713. be created.
  714.  
  715. When the Genie is executed a requester will present you with two prompts:
  716. one for the number of minutes to wait before prompting you to save And one
  717. requesting whether the Genie should make backup files. Enter appropriate
  718. responses and click on OK. The Results from ARexx command screen will
  719. appear with the message "running AutoSave macro. [CLI x]" where x is a
  720. number that will vary depending on the number of CLI processes running in
  721. your machine. Click the right mouse button to close the screen And resume
  722. working.
  723.  
  724. When the specified interval has elapsed, a dialog box will appear on the
  725. screen, asking if you want to save now. Clicking Yes will save your
  726. document and, if you have directed the Genie to do so, a backup file will
  727. be created. Clicking on No will bypass the save operation but leave the
  728. Genie running. Clicking on Cancel will terminate the AutoSave Genie.
  729.  
  730. If you wish, you can use the SavePrefs Genie (see below) to make the
  731. AutoSave Genie run automatically every time you run Professional Page.
  732.  
  733. BoxAttr:
  734. This Genie will allow you to apply an attribute change to a selection of
  735. boxes on the page. You will be prompted to select the box attributes that
  736. you wish to change. The choices are: Angle, Frame, FrameData (line color,
  737. fill color, line weight, line pattern, fill pattern), Hide, Tabs, Text
  738. Wrap, Lock, Margins, Offset, Position, Size, Standoff and Transparent.
  739. Select the desired attribute and click on OK. You are then prompted to
  740. click on the boxes to which the changes will be applied. When all boxes
  741. have been selected, click on the page itself or on the artboard. Then
  742. enter the new attribute(s) in the requester that appears.
  743.  
  744. BoxColors:
  745. Use this Genie to invert a text box; i.e. switch to light text on a dark
  746. background. First you are prompted to click on the box to be inverted.
  747. Then a list box appears containing the current color list. Click on the
  748. desired box fill color and click OK. The list box reappears and prompts
  749. you to select the desired text color. Make your selection and click on OK.
  750.  
  751. Calculator:
  752. This Genie will evaluate a one-line mathematical expression and display
  753. the result for you.
  754.  
  755. CommandLine:
  756. This Genie allows you to issue ARexx commands directly. This is only
  757. recommended for advanced users. If the command takes no parameters,
  758. the empty parentheses may be left off and the Genie will append them
  759. automatically.
  760.  
  761. CopyBoxAttributes:
  762. This Genie will copy an attribute from a selected box to one or more
  763. boxes on the same page. When prompted, click on the box whose attribute
  764. is to be copied. The next prompt will direct you to click on the boxes
  765. to which the attribute will be applied. When all destination boxes have
  766. been selected, click on the page itself or on the artboard to signal the
  767. Genie to proceed.
  768.  
  769. The Select attribute to copy requester will then appear. Click on the
  770. attribute to be copied and click on OK. "Working.." will appear in the
  771. title bar until the Genie has completed its job.
  772.  
  773. CopyBoxContents:
  774. This Genie will copy the contents of a selected box to one or more other
  775. boxes on the page. The first title bar prompt directs you to select the
  776. box whose contents are to be copied and then the recurring prompt directs
  777. you to select destination boxes. When all destination boxes have been
  778. selected, click on the page itself or on the artboard to signal the Genie
  779. to proceed. "Working.." will appear in the title bar until the Genie has
  780. completed its job.
  781.  
  782. CopyBoxToPages:
  783. This Genie will replicate a selected box across a range ofpages. When
  784. prompted, click on the box to be replicated. Once the box has been
  785. selected, an Enter options requester will appear, prompting you for the
  786. first and last page number defining the destination range. You also have
  787. the option of copying the selected box to odd, even or all pages.
  788.  
  789. CopyPageSpecs:
  790. This Genie will copy the page specifications of the current page to a
  791. range of destination pages. The page specifications are the data that
  792. you access by selecting Page/Alter/Current from the menus.
  793.  
  794. CopyPages:
  795. This Genie will create new pages from a given range of pages. A dialog
  796. box appears requesting input for from, to and number of copies. As an
  797. example, if you have a one-page document and you input "1" for from, "1"
  798. for to and "3" for number of copies, the result will be a four-page
  799. document in which the last three pages are duplicates of the first. Any
  800. existing pages following the source range will be pushed forward to
  801. higher page numbers to make room for the insertion of the copied pages.
  802.  
  803. DeleteRange:
  804. This Genie deletes a range of pages. Simply enter the page numbers
  805. corresponding to the first and last pages of the range to be deleted.
  806. As you would expect, any existing pages following the deleted range are
  807. pulled back to lower page numbers, replacing the deleted range.
  808.  
  809. DropCaps:
  810. This Genie creates a drop cap. This will only work on the first line of
  811. the box. First you must click in the box that contains the text that is
  812. to be drop-capped. Then a requester appears containing two string gadgets.
  813. Enter the number of characters to be affected and the number of lines of
  814. text that the drop cap is to traverse. After clicking on OK, you are
  815. presented with the Select Drop Cap font requester. Select the desired
  816. font and click on OK. The first x characters are extracted from the text
  817. and a new box is created at the top left hand comer of the text box with
  818. the first x characters confined within it.
  819.  
  820. DropShadowBox:
  821. This Genie creates a dropshadow for a selected box. First you must click
  822. in the box that is to be dropshadowed. The Select Drop Shadow offset
  823. requester appears containing two string gadgets, allowing you to specify
  824. values for X and Y. These values represent the left and top offsets of
  825. the dropshadow box and consequently, the width of the drop shadow around
  826. the selected box.
  827.  
  828. When you click on OK, the new box is created with the specified offsets
  829. and the Select Fill Color requester appears. Click on the desired color
  830. for the dropshadow and click on OK. The new box is then filled with the
  831. specified color and the originally selected box is brought to the front.
  832. If you are in WireFrame Graphics mode, the dropshadow will not be
  833. immediately evident and you will be notified that you must select
  834. WireFrame Graphics to see the results.
  835.  
  836. EnterPersonallnfo:
  837. This Genie will put up a form requesting your name, address, etc. Enter
  838. your personal info into the string gadgets and click on OK. The data
  839. you enter will be saved in a file (s:ppage.config) and you may then
  840. insert your personal info into a box at any time by invoking the
  841. InsertPersonallnfo Genie (see below).
  842.  
  843. FindAndReplace:
  844. This Genie will do a global search and replace operation. The Enter
  845. Search String requester will prompt you for the search string and the
  846. replace string. Once those have been entered, you are asked whether or
  847. not the search should be Case sensitive. The Genie will then search
  848. every text box in the document and make all the specified replacements.
  849. The title bar will display "Working" until all boxes have been searched.
  850.  
  851. GetTaggedText:
  852. This Genie will gather a list of style tags from within a document and
  853. gather all tagged paragraphs into a previously created box. This is a
  854. convenient method for generating a Table of Contents. You must be in edit
  855. mode to use this Genie.
  856.  
  857. The style tags used in your document are presented in a Select tags to
  858. collect list box. Click on the names of the tags you want to collect. For
  859. a Table of Contents, these will generally be chapter titles, headings and
  860. subheadings. Next, you must click in the box into which the text is to be
  861. placed. "Working" will appear in the title bar while this Genie is
  862. performing its task.
  863.  
  864. GreekBoxes:
  865. This Genie will greek some or all of the boxes in a document. You specify
  866. the type of boxes to greek in the Select boxes to greek list box. The
  867. choices are: All, Bitmap, EPSF, PDraw Clips, Structured Graphics and Text.
  868. Select one or more types of boxes and click on OK. All boxes matching your
  869. selection criteria will be displayed with a large X in them.
  870.  
  871. GroupAttr:
  872. This Genie will allow you to alter the attributes of a selected group. If
  873. no group is selected, you will receive an error message instructing you
  874. to first select a group.
  875. A list box will appear directing you to select the attribute to be
  876. changed. The choices are: Angle, Frame, FrameData Hide, Tabs, Text Wrap,
  877. Lock, Margins, Offset, Position, Size, Standoff and Transparent. Select
  878. the desired attribute and click on OK. Enter the new attribute(s) into
  879. the requester that appears and click on OK. The new attribute will be
  880. applied to every box in the group.
  881.  
  882. GroupCopyBoxAttr:
  883. This Genie is used to copy an attribute of a selected box to the current
  884. group. A prompt will direct you to click on the box whose attribute is to
  885. be applied to the group. A list box will appear instructing you to select
  886. the attribute to be changed. The choices are: Angle, Frame, FrameData,
  887. Hide, Text Wrap, Lock, Margins, Offset, Position, Size, Standoff and
  888. Transparent. Select the desired attribute and click on OK. The selected
  889. attribute will be applied to every box in the group.
  890.  
  891. GroupCopyBoxContents:
  892. This Genie will copy the contents of one box to all the boxes in the
  893. current group. When prompted, click on the ungrouped box whose contents
  894. is to be placed into each of the boxes of the group. No other user input
  895. is required. "Working.." will appear in the title bar until the contents
  896. have been copied to all group boxes.
  897.  
  898. GroupCopyToPages:
  899. This Genie will copy the selected group to a range of pages that you
  900. specify. The Enter options requester prompts you for a starting page,
  901. ending page and whether the group should be copied to odd, even or all
  902. pages. A "Done" dialog box will inform you when the group has been copied
  903. to all the specified pages.
  904.  
  905. GroupDistribute:
  906. This Genie will distribute boxes over a user-selected distance (both
  907. horizontally and vertically). This is particularly convenient when you
  908. have created a box and cloned a number of new boxes from it. Select the
  909. group and invoke the Genie. You will be selecting the manner of
  910. distribution and the amount of space.
  911.  
  912. The Horizontal Distribution requester offers five choices: Boxes,
  913. Centers, Left, None and Right. Boxes will divide the total space into
  914. equal parts. The space between each of the boxes will be equal to one of
  915. those parts. Centers will position the box centers evenly over the
  916. specified space. Left and Right will position the specified box edges
  917. evenly over the specified space. None will result in no horizontal
  918. displacement of the boxes in the group.
  919.  
  920. The Vertical Distribution requester, its choice and results, is the same
  921. as the horizontal one except that it WOrks in the other dimension. When
  922. you have selected from both requesters, a new requester prompts you for
  923. From and To values. These values define the space within which the group
  924. will be distributed. Enter appropriate v alues to define the desired
  925. area on the page.
  926.  
  927. GroupMove:
  928. This Genie will move the group to a new position on the page. The Enter
  929. coordinates requester will appear, displaying the current values for the
  930. left and top positions of the group. Enter the appropriate values for the
  931. group's desired position. Note that these values are applied to the group
  932. and not to a specific box within the group. In other words, the new left
  933. position will be applied to the leftmost box of the group and the new top
  934. position to the topmost box.
  935.  
  936. GroupRotate:
  937. This Genie will rotate a group to a specified angle. Simply enter the
  938. desired angle into the Rotation Angle requester and click OK. The group
  939. will rotate counterclockwise around the top left point of the group.
  940. Entering negative values will rotate the group clockwise.
  941.  
  942. GroupScale:
  943. This Genie will scale a group to a new size. A Select Scaling Options
  944. requester will prompt you for a percentage for width and height. These
  945. values will be applied to the box positions as well as to their size.
  946. It will probably be necessary to manually adjust the font size of text
  947. contained within the boxes. For this reason, this Genie is best applied
  948. in the earlier stages of layout, before the boxes are filled in.
  949.  
  950. GroupSpace:
  951. This Genie will space boxes both horizontally and vertically, based on
  952. user input. This is also convenient when you have created a box and
  953. cloned a number of new boxes from it. Select the group and invoke the
  954. Genie. You will be selecting the manner of distribution and the size of
  955. the space between boxes in the group.
  956.  
  957. The Horizontal Spacing and Vertical Spacing requesters offer the same
  958. choices as their counterparts in GroupDistribute; however, in this Genie
  959. you specify the amount of space between each element of the group, rather
  960. than the total space occupied by the group.
  961.  
  962. GroupTile:
  963. This Genie will replicate a group until it fills the page. This is a
  964. quick and easy way to create a tiled backdrop. A significant time savings
  965. will be realized by those who have been creating such pages manually! An
  966. Enter coordinate's requester will appear containing six string gadgets
  967. for: Start X, Start Y Number of Columns, Number of Rows, Horizontal
  968. spacing and Vertical spacing. The Genie displays appropriate calculated
  969. values (based upon current margin settings and the size of the group) but
  970. you are free to alter them if you wish. Click on OK when all coordinates
  971. are acceptable and the group will be tiled to fit the page.
  972. Note that the group is moved to the top left corner of the page before
  973. it is tiled.
  974.  
  975. InitialCaps:
  976. This Genie will capitalize the first letter of all words in a selected
  977. block of text. This Genie works only in edit mode.
  978.  
  979. InsertDoc:
  980. This Genie will insert a previously saved Professional Page document
  981. into the current document while maintaining all links between boxes.
  982. For example, if you have a 4-page document with page 3 onscreen and then
  983. insert a 2-page document, the page that w as originally page 3 will be
  984. pushed forward to page 5 and any link between the pages originally
  985. numbered 2 and 3 will still exist between page 2 and what is now page 5.
  986.  
  987. With a bit of trickery, this Genie can also be used to append a document
  988. in memory with a document on disk. Create a new page from either template
  989. or default - it really doesn't matter since we won't actually be using
  990. this page. With the new page onscreen, invoke this Genie.
  991.  
  992. InsertPersonalInfo:
  993. This Genie will paste your personal info into the text stream. When
  994. invoked, the Genie will present you with the Select options requester.
  995. You must click on the field names that you want to include and specify
  996. whether the data is to be separated by Returns or by comas. In order
  997. for this Genie to work, the data must have already been entered using
  998. the EnterPersonalInfo Genie (see above).
  999.  
  1000. MailMerge:
  1001. This genie will make multiple copies of the current document replacing
  1002. the document's variable fields with data from a file that you have
  1003. created.
  1004.  
  1005. The variable fields (or merge strings) are created in Professional Page
  1006. by surrounding a word in double guillemots. The guillemot characters are
  1007. the French quotation marks that look like this: << >>. Use Alt-9 to type
  1008. the opening guillemot character and Alt-0 to type the closing one.
  1009. Remember, there must be two opening characters and two closing ones.
  1010. If a data merge operation fails, a likely cause is the omission one of
  1011. these characters.
  1012.  
  1013. A group of merge strings in your Professional Page document might look
  1014. like this:
  1015.  
  1016.      <<<<Name>>>>, <<<<Address>>>>, <<<<City>>>>
  1017.  
  1018. Your data file must consist of the replacement data for each of the
  1019. variable fields and each data element must be tab-delimited Or in CSV
  1020. format (Comma Separated Vales). CSV format requires that a field be
  1021. enclosed in double-quotes (inchmarks) and that the fields of a record
  1022. be separated by comas. Also, the first line of the data file must be
  1023. the field names; i.e. the 'dummy' words that are in the Professional
  1024. Page document. Succeeding lines are indivldual records to be used in
  1025. each pass of the merge operation. You may create this list manually or
  1026. (more conveniently) use a database program 's query language to export
  1027. selected records to an ASCII text file. Remember that each field of the
  1028. record must be delimited by a tab or a comma. If the file is delimited
  1029. with tabs, the inchmarks are not required. A CSV data file intended
  1030. for use with the three merge strings in the above example might look
  1031. like this:
  1032.  
  1033.      "Name","Address","City"
  1034.      "Joe User", "123 My Street", "Usertown"
  1035.      .....<list continues>
  1036.  
  1037. If any of the inchmarks are missing in a CSV file, you will get
  1038. unexpected results. Another possible reason for a merge failure is
  1039. discrepancies between the field names as they appear in the document and
  1040. as they appear in the data file; eg., a typo such as "Name" and "Naem".
  1041. If the fields do not match, the Genie will not replace the document's
  1042. merge field with your data.
  1043.  
  1044. When the Genie is invoked, a file requester appears prompting you to
  1045. select the data file that is to be used for the merge operation. Select
  1046. your data file and click on OK. As the data file is read in, the title
  1047. bar will display a status message indicating the number of records read.
  1048. When all records have been read, the title bar will inform you that the
  1049. Genie is "Preparing document for mail merge.."
  1050.  
  1051. Preparing the document consists of searching through the text to find
  1052. all the merge fields. Once that is done, a copy of the merge page is
  1053. made and the fields are replaced by the data from the first record.
  1054. When the Genie reaches the end of the document, another merge page is
  1055. created and, again, the fields are replaced again with the data from
  1056. the next record. This process continues until all records in the data
  1057. file have been merged.
  1058.  
  1059. On each pass through the document, the Genie will report on the title bar
  1060. "Merging record xxx of yyy" where xxx is the current record number and
  1061. yyy is the total number of records to be merged. Note that the original
  1062. merge fields still exist in your document. This allows you to repeat the
  1063. process with another data file.
  1064.  
  1065. There are two special merge fields used in conjunction with this Genie.
  1066. The first is <<<<Next>>>>. This will cause the Genie to skip to the next
  1067. record in the merge data file. You will want to use this special merge
  1068. field if you intend to have multiple records within a single document;
  1069. on a sheet of laser labels, for example. To place multiple records on
  1070. a single page, you would place a <<<<Next>>>> after each group of field
  1071. names except the last, since reaching the end of the document cause the
  1072. Genie to skip to the next record automatically.
  1073.  
  1074. The other special merge field uses the equals sign followed by any valid
  1075. ARexx expression (««=<expression>»»). The expression will be evaluated by
  1076. ARexx and the merge field replaced by the expression 's results. This
  1077. special merge field is very powerful because you may also execute disk
  1078. resident macros; to query databases, for example. For an example of its
  1079. use, see ReplaceMergeCodes below. If any errors are encountered while
  1080. the expression is being evaluated, the error(s) will be reported and the
  1081. Genie terminated.
  1082.  
  1083. MokeBoxIntoColumns:
  1084. This Genie will create several columns in a box. First you must click on
  1085. the box that the Genie will use as a guide; once the columns have been
  1086. created, this box will be deleted. A dialog box will then appear
  1087. prompting y ou to enter the number of columns required and the gutter
  1088. size and whether or not you want vertical column dividers, box borders
  1089. and links between columns. Enter the appropriate responses and click on
  1090. OK. If the box that you selected contains text and you have chosen to
  1091. link the columns, the text will be removed from the original box and
  1092. flowed into the newly created columns.
  1093.  
  1094. MakeGuides:
  1095. This Genie will put boxes of a specified size on the page. These guide
  1096. boxes may used as sizing and positioning indicators. When the Genie is
  1097. invoked, the Enter Dimensions of Grid requester will appear, prompting
  1098. you to enter values for: number of columns of boxes, number of rows of
  1099. boxes and size of the gutter between boxes. Enter the desired values
  1100. and click On OK. The title bar will display "Working" while the boxes
  1101. are being created. All guide boxes are pushed to the back so as to not
  1102. interfere with page contents.
  1103.  
  1104. MovePage:
  1105. This genie will move a range of pages within a document. The Enter Range
  1106. requester prompts you for the swing page number of the range, the ending
  1107. page number of the range and the destination page number. Enter the
  1108. appropriate page numbers and click on OK. The indicated range of pages
  1109. will be moved such that its first page is at the specified destination
  1110. page number.
  1111.  
  1112. NoCaps:
  1113. This Genie will convert a selected block of text to lowercase. This Genie
  1114. works only in edit mode.
  1115.  
  1116. ProCalcTableImport:
  1117. This Genie will import a range of cells from Professional Calc.
  1118. Professional Calc must be running and the desired speadsheet must
  1119. be loaded.
  1120.  
  1121. First you are prompted to click on a box. This box will be used as a
  1122. guide for the size and position of the imported spreadsheet range. You
  1123. must ensure that the box selected is large enough to contain the range
  1124. neatly but not so large as to separate the values too widely. You are
  1125. then asked if you want to delete the box. Click on your choice. You are
  1126. then directed to select the desired range in Professional Calc. When that
  1127. is done, you may click the Resume button and the Genie will begin
  1128. collecting the data from the range of cells.
  1129.  
  1130. The Select Options requester appears. Three options are available: Create
  1131. Link, Make Grid Lines and Right Justify Numbers. Create Link is used to
  1132. create a small data file on disk that will be used in conjuction with the
  1133. ProCalc TableUpdate Genie (described below). Select an appropriate path
  1134. and filename in the file requester. If the contents of the spreadsheet
  1135. range are likely to change, you will want to select Create Link so that
  1136. your Professional Page document can be updated with the new values later.
  1137. On the other hand, if you know that your table data will not change, there
  1138. is no purpose in choosing Create Link.
  1139.  
  1140. Make Grid Lines and Right Justify Numbers are appearance factors. Each
  1141. cell of the spreadsheet range will be enclosed in its own box. If you
  1142. select Make Grid Lines, the boxes comprising the range will have visible
  1143. outlines. If you prefer to have the numbers on a blank field with a box
  1144. around the entire table, do not choose Make Grid Lines. Instead, click
  1145. on No when asked if you want to delete the original box and choose Box
  1146. Frame for that box. Finally, you will probably always want to select
  1147. Right Justify Numbers.
  1148.  
  1149. ProCalcTableUpdate:
  1150. This Genie updates a Professional Calc table that is already contained
  1151. in a Professional Page document. You must have chosen Create Link when
  1152. the table was first imported and Professional Calc must be running with
  1153. the spreadsheet loaded. When you invoke this Genie, a file requester will
  1154. appear and you select the link data file that corresponds to the table
  1155. you wish to update. The Genie will then check the spreadsheet for new
  1156. values in the range of cells that you selected when the table was first
  1157. imported. Any cells that have been altered will be extracted from the
  1158. spreadsheet and placed in their proper position in the Professional Page
  1159. document.
  1160.  
  1161. ReplaceMergeCodes:
  1162. This Genie will search a document for merge codes which begin with the
  1163. following sequence: <<<<=. Between the merge codes, the Genie expects to
  1164. find a valid ARexx command or macro which it will interpret. The merge
  1165. codes will be replaced with the result of the interpreted command. For
  1166. example, if a box contained the following text:
  1167.  
  1168. Today is ««=FormatDate.rexx ("%w, %m %tth, %y")»»
  1169.  
  1170. invoking this Genie would result in the following text being plaeed in
  1171. the box:
  1172.  
  1173. Today is Wednesday, January 26, 1992
  1174.  
  1175. Or whatever the system date happens to be. This Genie is very powerful
  1176. because you may also execute disk resident macros; to query databases,
  1177. for example.
  1178.  
  1179. SavePrefs:
  1180. This Genie will bring up a list box containing all the settings available
  1181. in Professional Page. Click on all the ones you would like to preserve
  1182. for future sessions. The Genie will save your current settings to a file
  1183. (s:ppage.config). Each time you run Professional Page, the configuration
  1184. file will be loaded and your specified settings will be restored. In
  1185. addition, this Genie will ask you if you want to run the AutoSave Genie
  1186. (see above) each time that Professional Page is run.
  1187.  
  1188. SetPageSize:
  1189. This Genie will set a custom page size on a range of pages. The Enter
  1190. Info requester appears, containing five string gadgets for: Page Width,
  1191. Page Height, Start Page, End Page and ODD/EVEN/ALL. Enter the
  1192. appropriate responses and click on OK. All indicated pages will be set
  1193. to the specified size.
  1194.  
  1195. SmallCaps:
  1196. This Genie will change the selected block to uppercase. Any letters in
  1197. the block that were already capitals when the block was selected with be
  1198. increased in point size by 25%.
  1199.  
  1200. StepAndRepeat:
  1201. This Genie will duplicate, move and rotate a box according to your
  1202. instructions. First you are prompted to click on the "seed" box. The Step
  1203. & Repeat requester then appears, prompting you for: Count, Horizontal
  1204. Offset, Vertical Offset and Angle. Count is the number of copies that will
  1205. be created The Horizontal and Vertical Offset values are added to the left
  1206. and top values of the previous box in the chain to set the position of the
  1207. next box. Similarly, for each new box, the ed Angle value is added to the
  1208. Rotation Angle of the previous box in the chain.
  1209.  
  1210. SubScript:
  1211. This Genie will subscript the selected block. You must be in edit mode for
  1212. this Genie to work. The subscripted characters will be reduced to a point
  1213. size that is equivalent to 75% of the current size. The baseline of the
  1214. selected block will be lowered by a value that is equivalent to 25% of
  1215. the current fontsize.
  1216.  
  1217. SubstituteFont:
  1218. This Genie will replace a typeface with a different one throughout your
  1219. entire document. A list box will appear, containing all the available
  1220. typefaces. Choose the typeface that you wish to change and click on OK.
  1221. The same list box will immediately appear again and you then choose the
  1222. typeface that you want substituted. Click on OK again and the title bar
  1223. will display "Working.." while the substitutions are being made.
  1224.  
  1225. SuperScript:
  1226. This Genie will superscript the selected block. You must be in edit mode.
  1227. The superscripted characters will be reduced to a point size that is
  1228. equivalent to 75% of the current size. The baseline of the selected block
  1229. will be raised by a value that is equivalent to 25 % of the current
  1230. fontsize.
  1231.  
  1232. Table Import:
  1233. This Genie works in much the same way as the Professional Calc Table
  1234. Import Genie described above. It will import a text file (in CSV format
  1235. or tabdelimited) from disk and create a table for it using an existing
  1236. box as a guide. You must first click on the guide box and inform the Genie
  1237. as to whether or not you wish to delete the guide box. You then select the
  1238. CSV text file to import from a file requester. Finally, you are given the
  1239. option of having grid lines created and of having numbers right justified.
  1240.  
  1241. UnGreekBoxes:
  1242. This Genie will ungreek boxes of a specified type (or types). A list box
  1243. will appear prompting you to choose which types of boxes to ungreek.
  1244. The choices are: Bitmap, EPSF, PDraw Clips, Structured Graphics and
  1245. Text. Choose whatever combination you wish and click on OK. If you loaded
  1246. a document and answered No to "Load bitmaps immediately", this Genie is
  1247. very convenient for redisplaying all the pictures in your document in a
  1248. single step.
  1249.  
  1250. UnitsConverter:
  1251. This Genie will convert values from one typesetting unit to another. The
  1252. equivalencies are based on 1 - inch - 72 points, 6 picas, 2.54cm, 66.9566
  1253. ciceros, or 14 agates. The Conversion fields.. requester appears. Enter a
  1254. value for any unit and click on OK. The requester will reappear containing
  1255. the converted values. You may then enter another value for conversion and
  1256. continue in this fashion until you click on Cancel or click on OK without
  1257. making any changes.
  1258.  
  1259. 8. PAGE GENIES
  1260.  
  1261. Page Genies provide you with a facility for automatically creating pages.
  1262. It's similar to having an unlimited number of interactive templates. To
  1263. create a page from a list of predefined Page Genies, select
  1264. Page/Create/from Genie. This will bring up the Select type of document
  1265. list box containing the available Page Genie types. The types included in
  1266. the Professional Page package are: Avery Labels, Business Report,
  1267. Envelope, Full Page Ads, Traditional NewsLetter and Two Fold Brochure.
  1268. Double-click on the desired type and a list of subtypes is presented.
  1269. Again, select the desired subtype and follow the presented instructions
  1270. for that particular Page Genie. We'll step through a few examples to give
  1271. you an idea of what to expect from each of the various types.
  1272.  
  1273. Avery Labels:
  1274. This Genie will come in very handy if you often find yourself generating
  1275. labels for mailing lists, file folders, audio cassettes, video cassettes,
  1276. floppy disks - most anything! This Genie creates pages to exactly match
  1277. labels produced by Avery, both those intended for dot-matrix printers
  1278. (tractor feed, fanfold) and those intended for laser printers (full page
  1279. sheets).
  1280.  
  1281. When you invoke this Genie, a list box appears containing the names of
  1282. the various label types: Dot Matrix Labels, European Laser Labels, French
  1283. Dot Matrix Labels and Laser Labels. Select one of these and click on OK.
  1284. "Reading label database.." will appear in the title bar. Once the database
  1285. has been read, it will be displayed to you in the Select Label list box.
  1286. Each entry consists of the Avery catalog number followed by a short
  1287. description of the type of label. Click on the type of label you're
  1288. using. If a box or group is currently selected, you will be asked if you
  1289. want it to be scaled to fit the dimensions of the label. Click on Yes Or
  1290. No's you wish, and the matching page will be created.
  1291.  
  1292. If you've chosen Dot Matrix Labels, each page corresponds to only one
  1293. label and you will be asked, "How many Dot Matrix Labels?" The number
  1294. you enter is the number of 'pages' (i.e. labels) that will be created.
  1295. This is convenient when you have a fixed, known number of labels to
  1296. generate. However, for a mailing list that is continually changing, it
  1297. will undoubtedly be more convenient to export the data as a CSV file and
  1298. use one dot matrix label in conjunction with the MailMerge Function Genie.
  1299.  
  1300. Business Report:
  1301. This Genie will create a business report consisting of three pages: a
  1302. cover page, a section title page and a body page. While the first page
  1303. is on the screen, you are prompted for a report name and date. Other
  1304. requesters will appear to get your input for typeface, type style, point
  1305. size, etc. Once these are completed you are asked if you want to insert
  1306. your personal info. Respond with Yes and a requester will appear
  1307. containing the field names of your personal info. Click on the fields you
  1308. want to include and click on OK. again, other requesters will appear to
  1309. get your input for typeface, type style, point size, etc.
  1310.  
  1311. On the second page of the report, y ou enter a section title into a
  1312. requester and select your choices for typeface, size, etc. You are
  1313. then asked to indicate the number of columns you want for body text.
  1314. Enter the desired number of columns and the width of the gutter.
  1315. Another list box will appear offering you three options with regard to
  1316. your columns: Borders, Link Columns and Vertical Dividers. Borders will
  1317. give the columns visible outlines and Vertical Dividers will place ruling
  1318. lines in the gutters between columns. Choose either or both of these if
  1319. you want to incorporate these appearance factors. You will probably always
  1320. want to select Link Columns to ensure that your text gets flowed into all
  1321. the columns required. The third page again requests column information,
  1322. allowing you to have a different number and/or style of column on the
  1323. pages of the report body.
  1324.  
  1325. Envelope:
  1326. When you invoke the Envelope Page Genie, the Enter size of Envelope list
  1327. box appears. Select 9 x 4 inches or Custom. Next, you will be asked if
  1328. you would like to have your company name and address inserted
  1329. automatically. This will only work if you have previously entered your
  1330. personal info via a Function Genie. The envelope page is then created.
  1331. If you have selected Custom, you will be prompted for the width and
  1332. height of your envelope. If you responded to the name and address question
  1333. by clicking on Yes, you are then prompted to click on the position on the
  1334. envelope where your name and address will be positioned. Finally, you are
  1335. directed to select a typeface and point size for your personal info.
  1336.  
  1337. Full Page Ads:
  1338. Invoking this Page Genie will bring up the Select type of Ad requester
  1339. which contains three choices: Double Column, Single Column2 and Single
  1340. Column3. For the purposes of our demonstration, select Double Column.
  1341.  
  1342. For this Genie, you will be asked for headline text (and the attributes
  1343. of that text), whether or not to import a text file and for the type of
  1344. graphic you want to use. A number of other requesters will appear to
  1345. receive your input for the various text attributes and to get a filename
  1346. for the graphic. Selecting Cancel in any of these requesters will leave
  1347. the indicated text attribute unchanged. Once you have responded to all
  1348. the prompts for each of these page elements, you will be asked if the
  1349. result is acceptable. If it is not, you can click on Try Again and
  1350. reset any of the attribute (or select a different file, as required).
  1351.  
  1352. Finally, you are asked if you want to include your personal info. If you
  1353. select Yes, you are presented with a requester containing the field names
  1354. of your personal info. Click on the fields that you want to include and
  1355. click on OK. Again, you will be prompted for the text attributes for your
  1356. personal info.
  1357.  
  1358. Traditional Newsletter:
  1359. This Genie begins by requesting your input for four text items: the
  1360. headline, a subheading, volume and issue number and the date. After
  1361. entering each item, you must select the text attributes for that text.
  1362. After the attributes have been applied to each item, you are asked to
  1363. confirm that the result is acceptable.
  1364.  
  1365. When the initial four text items are completed, you are asked, "How many
  1366. columns will you need?". Enter the desired number of columns and a value
  1367. for the gutter space between the columns. The Select Column Options
  1368. requester will appear, offering three choices: Borders, Link Columns and
  1369. Vertical Dividers. For our demonstration, select all three and click on OK.
  1370.  
  1371. Next, a second page will appear and you will be asked for the number of
  1372. columns and the gutter size for inside pages. Enter your desired values,
  1373. click OK and select the column options for the inside pages. You are then
  1374. returned to the front page, asked if you want to import a text file and
  1375. directed to provide input for the body text attributes.
  1376.  
  1377. Two Fold Brochure:
  1378. This Genie will create both sides of a two-fold brochure on a standard
  1379. size page. First you are prompted for the text and attributes of the
  1380. headline box. When done, you are asked, "Is this OK?". Clicking on Try
  1381. Again will permit you to make adjustments to the headline as shown. When
  1382. you click on Yes, you are then prompted for the text and attributes for
  1383. the subheading box. The last stage of this Genie's creation process is
  1384. to ask if you want to import a file and to give the attributes of the
  1385. body text.
  1386.  
  1387. 9. AREXX SUPPORT AND COMMANDS
  1388.  
  1389. Professional Page's ARexx interface recognizes approximately 330
  1390. commands. Virtually every aspect of Professional Page operations may now
  1391. be driven by an ARexx script. If you have not been using ARexx previously,
  1392. we strongly recommend that you obtain and install it on your system since
  1393. many programs, not just Professional Page, can take advantage of its
  1394. presence to offer you additional capabilities. For example, we saw in
  1395. Section 7 how Professional Calc can work in tandem with Professional
  1396. Page by means of Function Genies.
  1397. Depending on your circumstances, you may wish to use Professional Page
  1398. in conjunction with other ARexx-aware applications, such as an
  1399. image-processing program or a terminal program.
  1400.  
  1401. Once you have obtained and installed ARexx, it is also a good idea to
  1402. insert the line
  1403.  
  1404.    RexxMast
  1405.  
  1406. somewhere into your startup-sequence so that ARexx will always be
  1407. available.
  1408.  
  1409. If you're new to ARexx programming (or even if you're not), we highly
  1410. recommend that you obtain a copy of the book Using ARexx on the Amiga by
  1411. Chris Zamara and Nick Sulliv an. The book contains both tutorial and
  1412. reference material and includes a companion disk. Using ARexx on the Amiga
  1413. is published by Abacus.
  1414.  
  1415. Technical Information:
  1416. The Professional Page ARexx host is implemented as an ARexx function host
  1417. (rather that the more usual command host). This is because many of the
  1418. ARexx commands in Professional Page return a result, and results can be
  1419. handled much more tidily when they appear as a function return than when
  1420. they must be accessed through the RESULT keyword.
  1421.  
  1422. One important characteristic of a function host is that it is global;
  1423. every function call in every ARexx macro is passed through a multi-stage
  1424. search procedure that begins with internal functions (those in the macro
  1425. source itself), continues with the built-in ARexx function library (the
  1426. functions listed in the ARexx manual), turns next to function hosts (such
  1427. as Professional Page) and function libraries, and finally to external
  1428. programs on disk. Consequently, it is not necessary to address
  1429. Professional Page's specific ARexx port ("PPAGEAREXX").
  1430.  
  1431. All resident Professional Page ARexx functions may be called from within
  1432. Professional Page Function Genies by their listed names. If you are
  1433. calling them from an external ARexx program then you must prefix the names
  1434. with "PPM_" in order for the calls to work. Because function calls are
  1435. global rather than being addressed to a particular host, there is a danger
  1436. of inadvertent name collision. The prefix ensures that your function will
  1437. be received by Professional Page and not by some other program that has a
  1438. function with the same name.
  1439.  
  1440. Parameter & Return Information:
  1441.  
  1442. The format of the commands is:
  1443.  
  1444. * result = Function (arg1, [arg2...])
  1445.  
  1446. When an argument is optional, it is enclosed in square brackets in the
  1447. definition. If optional arguments are omitted, you must still include the
  1448. commas. An asterisk at the beginning of the line signifies that the
  1449. function is allowed in Text Edit mode. If a function returns more than one
  1450. item of data, those items are returned in a string with spaces separating
  1451. each item. Argument and return types are discussed below for each
  1452. function. All numerical parameters are in the current user units
  1453. (inches, for example), unless otherwise noted.
  1454.  
  1455. Notes:
  1456.  
  1457.      . All Getxxx functions return data in the same form as the
  1458.        corresponding Setxxx function.
  1459.  
  1460.      . Numerical parameters are in current user units (eg. inches) unless
  1461.        otherwise noted.
  1462.  
  1463.      . Functions that do not return a value must be called in ARexx; eg.,
  1464.        call autoUpdate(0).
  1465.  
  1466.      . Arguments consisting of text should be enclosed in double quotes;
  1467.        eg., num = BoxNum("First Box").
  1468.  
  1469. Page and Box Identifiers:
  1470. In Professional Page v3.0, pages and boxes have unique identifiers to allow
  1471. macro access. Such an identifier may be either a user-specified name or a
  1472. number. If an identifier is optional and absent, the current page (or
  1473. currently active box) is assumed.
  1474.  
  1475. In the case of pages, an identifier that is a number may refer to either
  1476. a sequential or logical page. It can be important to recognize the
  1477. distinction between the two. A sequential page number represents the
  1478. position of a given page within a Professional Page document file. A
  1479. logical page number represents the position of a given page in a document
  1480. file once the page number Offset has been figured in; in other words, the
  1481. page's number in the printed document. In many cases, the sequential and
  1482. logical page numbers will be the same. An example will make this clear.
  1483.  
  1484. Suppose that you have an eight-page document contained in two files,
  1485. MyDoc1.pp and MyDoc2.pp. There are four pages in MyDoc1.pp and, when
  1486. printed, the page numbers will be 1 through 4. In this case, the
  1487. sequential and logical page numbers are identical. However, in MyDoc2.pp
  1488. there are four pages to which a page number offset has been applied. When
  1489. printed, these pages will be numbered 5 through 8. Therefore, in
  1490. MyDoc2.pp, the first page in the data file has a sequential page number
  1491. of 1 but a logical page number of 5.
  1492.  
  1493. If the page identifier's number is of the form #xxx, logical page numbers
  1494. are used; otherwise, sequential page numbers are used. When a page number
  1495. is returned by a function, that number is the sequential page number
  1496. unless otherwise noted.
  1497.  
  1498. In the case of boxes, Professional Page generates a unique box ID for
  1499. each box in the document. Consequently, user-specified box names cannot
  1500. be integers, since the internal box ID's are integers. The internal box ID
  1501. is the specifier that is returned when a box ID is requested.
  1502.  
  1503. Note: In the material that follows, <CR> represents a Return character or
  1504. new line. This is specified in ARexx by '0a'x.
  1505.  
  1506. General Functions:
  1507.  
  1508. AbortPrint()
  1509. This command has the same effect as the STOP! gadget in the print status
  1510. window, for both dot-matrix and PostScript printing.
  1511.  
  1512. AutoUpdate(bool)
  1513. Clears or sets (0 or 1) auto-update mode. When auto-update mode is set,
  1514. after each ARexx function, the screen is updated (if there are no pending
  1515. messages). Most of the time you will want to turn auto-update mode off.
  1516. When the parameter is (0), the screen is not updated until the Genie is
  1517. finished or an UpdateScreen command is issued.
  1518.  
  1519. * datewhen = CreationDate()
  1520. Returns the date on which the file was created.
  1521.  
  1522. * datenow = CurrentDate()
  1523. Returns the current date.
  1524.  
  1525. change = DocChanged()
  1526. Returns a 1 if the document has changed since the last save, 0 if not.
  1527.  
  1528. * whodoc = GetAuthor()
  1529. Returns the author's name as entered in the Information box.
  1530.  
  1531. * call SetAuthor(name)
  1532. Replaces the author's name in the Information box with name.
  1533.  
  1534. * title = GetDocName()
  1535. Returns the document name as contained in the Information box.
  1536.  
  1537. * call SetDocName(newname)
  1538. Sets the document's name to newname.
  1539.  
  1540. * ptlist = GetParaTagList()
  1541. This function returns the list of Paragraph Tags used in the current
  1542. document in the following format: (N)<CR>tagname1<CR>tagname2<CR>...
  1543. where N is the number of tags in the list.
  1544.  
  1545. * fonts = GetPSFontsUsed([page])
  1546. This function returns: (N)<CR>font1<CR>font2<CR>... where N is the number
  1547. of fonts used. The actual PostScript font names are used. If the optional
  1548. page identifier is included, the list will include only the fonts used on
  1549. the specified page; otherwise, the entire document is searched.
  1550.  
  1551. * numsaves = GetRevision()
  1552. Returns document revision number as confined in the information box.
  1553.  
  1554. * call SetRevision(integer)
  1555. Sets the revision number in the Information box to integer.
  1556.  
  1557. * state, requester = GetState()
  1558. Use this command to determine the current state of Professional Page. A
  1559. value between 0 and 17 will be returned depending on which aspect of the
  1560. program is active. The state values are as follows:
  1561.  
  1562.      NULL            = 0         Bezier Draw       =  9
  1563.      CreateBox       = 1         Freehand Draw     = 10
  1564.      Group Select    = 2         Polygon Draw      = 11
  1565.      Text Editing    = 3         Facing Pages      = 12
  1566.      Link Box        = 4         Thumbnail Pages   = 13
  1567.      Unlink Box      = 5         Moving Box        = 14
  1568.      Line Draw       = 6         Cropping Box      = 15
  1569.      Rectangle Draw  = 7         Scrolling Screen  = 16
  1570.      Circle Draw     = 8         Printing          = 17
  1571.  
  1572. If a requester is active, the requester type is indicated by one of the
  1573. following values:
  1574.  
  1575.      None                        =  0
  1576.      File selector               =  1
  1577.      Verify or Error             =  2
  1578.      ColorList1                  =  3
  1579.      ColorList2                  =  4
  1580.      Typeface List               =  5
  1581.      BitMap List                 =  6
  1582.      Unused                      =  7
  1583.      Style Tag List              =  8
  1584.      Paragraph Tag List          =  9
  1585.      Pantone Color List          = 10
  1586.      Text Filter List            = 11
  1587.      PostScript Font List        = 12
  1588.      EPSF File List              = 13
  1589.      Function Genie List         = 14
  1590.      List created by ARexx       = 15
  1591.      Enter Tracking              = 16
  1592.      Enter Baseline              = 17
  1593.      Enter Genie Name            = 18
  1594.      Enter Line Weight           = 19
  1595.      ARexx Get Text from user    = 20
  1596.      ARexx Enter box text        = 21
  1597.      UCR/GCR                     = 22
  1598.      Text Greeking               = 23
  1599.      ARexx Get user data         = 24
  1600.      Create Page from Default    = 25
  1601.      Alter Current Page          = 26
  1602.      Alter Even Template         = 27
  1603.      Alter Odd Template          = 28
  1604.      Alter Default Page          = 29
  1605.      Enter New Point Size        = 30
  1606.      Box Attributes              = 31
  1607.      Print to Dot Matrix         = 32
  1608.      Print to postScript         = 33
  1609.      Print Thumbnail             = 34
  1610.      Document information        = 35
  1611.      Hyphenation Parameters      = 36
  1612.      Find                        = 37
  1613.      Find/Replace                = 38
  1614.      Date/Page Formats           = 39
  1615.      Line Spacing                = 40
  1616.      PostScript Page Specs       = 41
  1617.      Color Palette               = 42
  1618.      Modify/Define Paragraph Tag = 43
  1619.      Modify/Define Style Tag     = 44
  1620.      Create Page from Template   = 45
  1621.      Layout Tools                = 46
  1622.  
  1623. * stylist = GetStyleTagList()
  1624.  
  1625. This function returns the Style Tag list in the following format:
  1626. (N)<CR>tagname1<CR>tagname2<CR>... where N is the number of tags in the
  1627. list.
  1628.  
  1629. * facelist = GetTypeFaceList()
  1630. This function returns the list of typefaces contained in the document
  1631. according to the following format: (N)<CR>face1<CR>face2<CR>... where N
  1632. is the number of typefaces in the list.
  1633.  
  1634. collist = GetColorList()
  1635. This function returns the list of colors used in the document according
  1636. to the following format: (N)<CR>color1<CR>color2<CR>... where N is the
  1637. number of colors in the list.
  1638.  
  1639. call New()
  1640. Behaves exactly as does selecting the menu item Project/New.
  1641.  
  1642. * totalboxes = NumBoxes([pgnm])
  1643. Returns the number of boxes in the document or, if the optional page
  1644. identifier is supplied, the number of boxes on that page.
  1645.  
  1646. * totalpages = NumPages()
  1647. Returns the number of pages in the document.
  1648.  
  1649. * call Pause(secs)
  1650. Pauses for the number of seconds indicated by secs.
  1651.  
  1652. call PPageToBack()
  1653. This command sends the Professional Page screen to the back.
  1654.  
  1655. call PPageToFront()
  1656. This command will bring the Professional Page screen to the front.
  1657.  
  1658. call PPQuit()
  1659. Exits Professional Page (same as selecting the Project/Quit menu item).
  1660.  
  1661. * lastsave = SavedDate()
  1662. Returns the date of the last Save operation for this document.
  1663.  
  1664. call SetBatchMode(bool)
  1665. When this mode is set on (1), all requesters will be automatically
  1666. responded to with OK or Resume. When set off (0), all requesters will
  1667. appear in the normal fashion.
  1668.  
  1669. newlist = SortList(list, [dir], [case])
  1670. Sorts the specified list. The dir argument is 0 for descending and 1 for
  1671. ascending. The case argument is 0 for case insensitive, 1 for case
  1672. sensitive. List and Newlist both use the format: Item1<CR>Item2<CR>...
  1673.  
  1674. call UpdateScreen()
  1675. Redraws the screen.
  1676.  
  1677. * call Version()
  1678. Returns copyright notice along with the Professional Page version number.
  1679.  
  1680. User Interactive Functions:
  1681.  
  1682. * filespec = GetFileName(prompt, path, [filename])
  1683. This function brings up a file requester and returns the file specifier.
  1684. If the user cancels the requester, an empty string is returned.
  1685.  
  1686. * manylines = GetForm (title, strlen, form)
  1687. This function will return a formatted string containing multiple lines of
  1688. user input. The title string will appear in the requester's drag bar. The
  1689. length of the requester's string gadgets are specified by strlen. The
  1690. formatted string is defined by form. If you wish, you may also use form
  1691. to fill the string gadgets with suggested or recommended data; eg.,
  1692. Prompt1:suggest1<CR>Prompt2:suggest2<CR>...
  1693.  
  1694. An example of the use of GetForm, taken from the StepAndRepeat Genie, is
  1695. shown below:
  1696.  
  1697. cr = '0a'x
  1698. form = "count"cr"horizontal offset"cr"vertical offset"cr"angle"
  1699. form = ppm_GetForm("Step and Repeat",8,form)
  1700. if form = '' then exit_msg("Operation cancelled")
  1701. parse var form count '0a'x horizontal '0a'x vertical
  1702. '0a'x angle
  1703.  
  1704. * userinput = GetUserText(integer,prompt)
  1705. Gets a single line of input from the user using prompt as a directive to
  1706. the user and using a buffer size of integer.
  1707.  
  1708. * choiceint = Inform(numbuttons, text, [button1txt],
  1709. [button2txt], [button3txt])
  1710. this function allows you to inform the user of text, to offer the user up
  1711. to three choices and to have the user's response returned. The numbuttons
  1712. parameter is one of 1/2/3. If no button text is specifed, a value of 1
  1713. will use resume for the button text and a value of 2 will use Yes and No.
  1714. Note that the first button is positioned in the lower right of the dialog
  1715. box, the second to the left of the first and the third to the left of the
  1716. second. The function returns -1 if there is an error, 0 if the first
  1717. (rightmost) button is clicked, 1 if the second, and 2 if the third.
  1718.  
  1719. * call ShowStatus(text)
  1720. Displays text on the Professional Page title bar. This function can be
  1721. used to prompt the user for mouse clicks, etc.
  1722.  
  1723. * call ClearStatus()
  1724. Restores the title bar to the normal Professional Page title.
  1725.  
  1726. whichbox = ClickOnBox(prompt)
  1727. Displays prompt and waits for the user to click the left mouse button and
  1728. returns the boxID of the user-selected box. This allows Genies to operate
  1729. on user-selected boxes without having to know the boxname or boxID. The
  1730. function will return 0 if the user clicks on a location that is not
  1731. contained within a box. A number of the Function Genies use this technique
  1732. to terminate multiple box selection.
  1733.  
  1734. * call SaveText(file, text)
  1735. Creates a file and saves text into it.
  1736.  
  1737. * call SaveMoreText(file, text)
  1738. Appends the given text to an existingfile.
  1739.  
  1740. clickspot = GetClickPosition(prompt)
  1741. Displays prompt to the user and returns the X-Y position of the location
  1742. on page where the user clicked.
  1743.  
  1744. * chosen = SelectFromList(title, width, height (in
  1745. lines), mode (0 or 1), list)
  1746. A method of offering the user a list of multiple choices and receiving the
  1747. response. Width is the width of the list in characters, height is the
  1748. height in lines. When mode is 0, only a single choice is returned; i.e.
  1749. items are mutually exclusive. When mode is 1, the user can make multiple
  1750. choices and items toggle on and off when selected. Both list and chosen
  1751. are lists in the form of: Item1<CR>Item2<CR>... The first element in list
  1752. will be pre-selected and the list will be sorted.
  1753.  
  1754.  
  1755. Page Operations:
  1756.  
  1757. * cpage = CurrentPage()
  1758. Returns the page number of the current page.
  1759.  
  1760. * logpage = LogicalPage([page])
  1761. Returns the logical page number of the specified sequential page (if
  1762. supplied); otherwise returns logical page number of the current page.
  1763.  
  1764. * fpage = DocFirstPage()
  1765. This function returns 0 if the document contains no pages; otherwise,
  1766. returns 1.
  1767.  
  1768. * npage = DocNextPage([page])
  1769. Returns the page number of the document page following the indicated one
  1770. or, if page is not supplied, the page after the current page.
  1771.  
  1772. * lpage = DocLastPage()
  1773. Returns the page number of the last page of the document.
  1774.  
  1775. newpage = GotoPage([page])
  1776. Sets the current page to page.
  1777.  
  1778. page = PageUp()
  1779. Displays the next page of the document (like using the Page Up gadget).
  1780.  
  1781. page = PageDown()
  1782. Displays the previous page of the document (like using the Page Down
  1783. gadget).
  1784.  
  1785. page = CreatePage(fromnumber, tonumber, from, [autolink], [lock])
  1786. Creates pages which are inserted atfromnumber up to tonumber. Returns
  1787. the page number of the first page created. The from parameter can be one
  1788. of four choices (0/1/2/3): default page, page number template, even
  1789. template or odd template. The optional autolink and lockparameters can
  1790. be 0 or 1 and correspond to the buttons in the Create Page requester.
  1791.  
  1792. numgone = DeletePage([startpage], [numdel])
  1793. Deletes numdel pages starting from startpage. Returns the number of
  1794. pages deleted. With no parameters, deletes current page only.
  1795.  
  1796. numcopies = CopyPage(pgnm, pgnm2, [num])
  1797. Insert num copies of pgnm before pgnm2. Returns number of pages created.
  1798.  
  1799. bool = MakeTemplate(pagenum, whichtemp)
  1800. Copies pagenum to whichtemp; even if 0, odd if 1.
  1801.  
  1802. newpage = MovePage(pgnm, pgnm2)
  1803. Moves pgnm to the position before pgnm2 and returns the resulting page
  1804. number.
  1805.  
  1806. Page Parameters:
  1807.  
  1808. These functions set and get page parameters which are normally accessed
  1809. through the Page/Create requesters.
  1810.  
  1811. col&gutter = GetPageColumns([pgnm])
  1812. Returns the number of columns and the gutter size on the specified page
  1813. or on the current page.
  1814.  
  1815. call SetPageColumns(pgnm, numcols, gutter)
  1816. Sets the number of columns and gutter size for the indicated page.
  1817.  
  1818. pmargs = GetPageMargins([pgnm])
  1819. Returns the margins of the specified page or the current page as "left
  1820. top right bottom".
  1821.  
  1822. call SetPageMargins(pgnm, left, top, right, bottom)
  1823. Sets the margins for the specified page.
  1824.  
  1825. pname = GetPageName([pgnm])
  1826. Returns the name of the specified page or the current page.
  1827.  
  1828. call SetPageName(pgnm, name)
  1829. Assigns a name to a specific page.
  1830.  
  1831. poffset = GetPageOffset([pgnm])
  1832. Returns the page number offset of the specified page or the current page.
  1833.  
  1834. call SetPageOffset(pgnm, offset)
  1835. Sets the page number offset for the specified page. Offset is one of:
  1836. +n/-n/n. The page number offset is the data item contained in the Offset
  1837. string gadget of the Current Page Format requester that appears when you
  1838. select Page/Alter/Current from the menus. For more information, see the
  1839. Professional Page User's Guide (pg. 173).
  1840.  
  1841. call SetPagePosition(x, y)
  1842. Places position x,y of the page to the upper left of the screen, if
  1843. possible.
  1844.  
  1845. psize = GetPageSize([pgnm])
  1846. Returns the size of the specified page or the current page.
  1847.  
  1848. call SetPageSize(pgnm, Xsize, Ysize)
  1849. Sets the dimensions of the indicated page.
  1850.  
  1851. ptype = GetPageType([pgnm])
  1852. Returns the type of the specified page or the current page. Ptype is one
  1853. of 0/1/2/3/4/5/6, corresponding to Custom, STD, LEGAL, A3, A4, A5 and A6.
  1854.  
  1855. call SetPageType(pgnm, ptype)
  1856. Sets the type of the specified page. Ptype is as described above.
  1857.  
  1858. Page PostScript Output Specs:
  1859.  
  1860. These functions set and get page parameters which are accessed through the
  1861. Output Page Specfications requester which appears when you click the
  1862. Postscript Output Specs button in the New Page Format requester.
  1863.  
  1864. pspsize = GetPSPageSize()
  1865. Returns the output page size.
  1866.  
  1867. call SetPSPageSize(Xsize, Ysize)
  1868. Sets the PostScript page dimensions (output page size).
  1869.  
  1870. angle = GetPSOutputAngle([pgnm])
  1871. Returns the output angle of the specified page or the current page.
  1872.  
  1873. call SetPSOutputAngle(pgnm, angle)
  1874. Sets the output angle of the specified page.
  1875.  
  1876. cropdata = GetPSOutputCrop([pgnm])
  1877. For the current or specified page, returns the status of crop marks
  1878. (off or on), their length, open space and bleed.
  1879.  
  1880. call SetPSOutputCrop(pgnm, status (0 or 1), len, open, bleed)
  1881. For the specified page, sets whether crop marks are off or on (status),
  1882. the crop mark lengths, open space and bleed.
  1883.  
  1884. ejectstat = GetPSOutputEject([pgnm])
  1885. Returns the eject status (0 or 1) of the current page or the specified
  1886. page.
  1887.  
  1888. call SetPSOutputEject(pgnm, eject)
  1889. For the specified page, sets whether eject is off (0) or on (1).
  1890.  
  1891. orient = GetPSOutputOrient([pgnm])
  1892. Returns the orientation (0/1/2/3 corresponding to none, portrait,
  1893. landscape or center) for the specified page or the current page.
  1894.  
  1895. call SetPSOutputOrient(pgnm, orient)
  1896. Sets the orientation (see above) for the specified page.
  1897.  
  1898. pospage = GetPSOutputPosn([pgnm])
  1899. Returns the offset ofPS output for the specified page or the currentpage.
  1900.  
  1901. call SetPSOutputPosn(pgnm, Xpos, Ypos)
  1902. Sets the offset of PostScript oUtpUt for the specified page.
  1903.  
  1904. psscale = GetPSOutputScale([pgnm])
  1905. Returns the output scale of the specified page or the current page.
  1906.  
  1907. call SetPSOutputScale (pgnm, Xsize, Ysize)
  1908. Sets the output scale of the specified page.
  1909.  
  1910. Box Operations:
  1911.  
  1912. These functions set and get box parameters which are generally accessed
  1913. through the Active Box requester which appears when you select Alter/Active
  1914. from the Box menu.
  1915.  
  1916. * boxid = ArtFirstBox([bxnm])
  1917. Activates and returns the boxID of the first box in the article containing
  1918. bxnm.
  1919.  
  1920. * boxid = ArtLastBox([bxnm])
  1921. Activates and returns the boxID of the last box in the article containing
  1922. bxnm.
  1923.  
  1924. * boxid = ArtNextBox([bxnm])
  1925. Activates and returns the boxID of the next box in the article containing
  1926. bxnm. This allows traversal of an article's chain of boxes.
  1927.  
  1928. * boxid = DocFirstBox()
  1929. Activates and returns the boxID of the first box in the document. If
  1930. there are no boxes on any of the document pages, the artboard page is
  1931. checked next. A 0 is returned if there are no boxes anywhere.
  1932.  
  1933. * boxid = DocNextBox([bxnm])
  1934. Returns the boxID of the next box in the document. This is similar to
  1935. PageNextBox, except that this function will jump to the next page if there
  1936. are no more boxes on the page containing bxnm.
  1937.  
  1938. * boxid = PageFirstBox([page])
  1939. Activates the first box on page (or on the current page) and retums that
  1940. boxID.
  1941.  
  1942. * boxid = PageNextBox([bxnm])
  1943. Activ ates the box after bxnm on the same page and returns that boxID.
  1944. If there are no more boxes on the page, the function will return 0.
  1945.  
  1946. boxnum = BoxAtPosn(Xpos, Ypos, [pgnm])
  1947. Selects the box at position Xpos-Ypos and returns the box number or 0
  1948. if x is at that position. This can be used to select a box without a name,
  1949. or the same box on each page. If two or more boxes overlap at Xpos,Ypos,
  1950. the number of the uppermost box is returned.
  1951.  
  1952. call BoxChangePage(bxnm, pgnm)
  1953. Moves bxnm to the specified page at the same position that it had on its
  1954. original page.
  1955.  
  1956. * thisbox = BoxNum([bxnm])
  1957. Returns the boxID for the specified box bxnm or for the active box if
  1958. bxnm is omitted.
  1959.  
  1960. * bool = BoxOverlaps(bxnm, Xpos, Ypos)
  1961. Returns 1 if the specified box contains the point Xpos,Ypos; otherwise,
  1962. returns 0.
  1963.  
  1964. * seqpgnum = BoxPage(bxnm)
  1965. Returns sequential page number of the page containing the specified box.
  1966.  
  1967. call BoxtoBack([bxnm])
  1968. Pushes the specified (or current) box to the back.
  1969.  
  1970. call BoxtoFront([bxnm])
  1971. Brings the specified (or current) box to the front.
  1972.  
  1973. boxid = CloneBox(bxnm, deltaX, deltaY)
  1974. Clones a new box that is offset from the original box (bxnm) by the
  1975. amounts indicated by deltaX and deltaY the boxID of the newly-cloned box
  1976. is returned.
  1977.  
  1978. boxid = CreateBox(left, top, width, height, angle, [boxname])
  1979. Creates a new box with the supplied position, size and angle
  1980. specifications and returns the boxID of that box. You may optionally
  1981. assign boxname to this new box.
  1982.  
  1983. bool = DeleteBox([bxnm])
  1984. Deletes the specified bxnm (or the current box).
  1985.  
  1986. bool = DeleteContents([bxnm])
  1987. Deletes the contents of bxnm. If bxnm is part of an article chain, the
  1988. entire article is deleted.
  1989.  
  1990. boxid = DrawBez(x0, y0, x1, y1, x2, y2, [boxname])
  1991. The start point, midpoint and end point respectively of the curve are
  1992. specified by the numbered parameters. Optionally, you may supply a
  1993. boxname for the resultant box. Returns the boxID of the new box.
  1994.  
  1995. boxid = DrawEllipse(xc, yc, rx, ry, rot, [boxname])
  1996. The ellipse center is specified by xc and yc, the radius by rx and ry.
  1997. These correspond to the values displayed in the title bar while drawing
  1998. an ellipse manually. Optionally, you may supply a boxname for the
  1999. resultant box. Returns the boxID of the new box.
  2000.  
  2001. boxid = DrawLine(x0, y0, x1, y1, [boxname])
  2002. The starting point of the line is defined by x0 and y0; the ending point
  2003. by x1 and y1. Optionally, you may supply a boxname for the resultant box.
  2004. Returns the boxID of the new box.
  2005.  
  2006. boxid = DrawPoly(file, [boxname])
  2007. The specified file contains a data array consisting of X-Y pairs defining
  2008. each point of the polygon. Each vertex must be on a separate line and X
  2009. and Y must be separated by a space. Optionally, you may supply a boxname
  2010. for the resultant box. Returns the boxID of the new box.
  2011.  
  2012. boxid = DrawRect(X0, Y0, X1, Y1, [boxname])
  2013. The initial drawing point is indicated by X0 and Y0 and X1 and Y1 are the
  2014. coordinates of the diagonally opposite corner. Optionally, you may supply
  2015. a boxname for the resultant box. Returns the boxID of the new box.
  2016.  
  2017. tilt = GetBoxAngle([bxnm])
  2018. Returns the rotation angle of the specified (or current) box.
  2019.  
  2020. call SetBoxAngle(bxnm, angle)
  2021. Sets the indicated box to the specified angle. The angle is applied by
  2022. rotating around the box's center This will change the values ofbox left
  2023. and top.
  2024.  
  2025. status = GetBoxFrame([bxnm])
  2026. Returns the frame status (off or on) of the specified (or current) box.
  2027.  
  2028. call SetBoxFrame(bxnm, setting)
  2029. Sets the frame of the specified box off/on (0/1).
  2030.  
  2031. framdat = GetBoxFrameData([bxnm])
  2032. Returns the frame attributes for the specified box. The attributes
  2033. returned are in the format: linecolor fillcolor lineweight linepattern
  2034. fillpattern.
  2035.  
  2036. call SetBoxFrameData(bxnm, linecolor, fillcolor, linewt, linepat, fillpat)
  2037. Sets the frame attributes for the specified box. Linecolor and fillcolor
  2038. are color names and must be in the current color list. Linewt is in
  2039. points. Linepat and fillpat are pattern numbers corresponding to the
  2040. positions of the patterns in the Draw menu.
  2041.  
  2042. status = GetBoxHide([bxnm])
  2043. Returns the Quick Display status of the specified (or current) box.
  2044.  
  2045. call SetBoxHide(bxnm, setting)
  2046. Clears/sets (0/1) Quick Display mode for the specified box.
  2047.  
  2048. info = GetBoxInfo([bxnm])
  2049.  
  2050. This function returns information about box contents. For a BitMap box,
  2051. the width, height, depth and filename are returned. For an EPSF box, the
  2052. file size and filename are returned. For a box containing a clip or
  2053. structured graphic, the number of objects,and memory usage are returned.
  2054. For textboxes, the article's box number, total number of article boxes,
  2055. buffer size and number of bytes of text actually contained within the
  2056. box are returned.
  2057.  
  2058. status = GetBoxLock([bxnm])
  2059. Returns the lock status of the specified (or current) box.
  2060.  
  2061. call SetBoxLock(bxnm, setting)
  2062. Sets the indicated box to unlocked/locked (0/1).
  2063.  
  2064. margins = GetBoxMargins([bxnm])
  2065. Returns the values for the left, top, right and bottom margins of the
  2066. specified (or current) box.
  2067.  
  2068. call SetBoxMargins(bxnm, left, top, right, bottom)
  2069. Sets the margins of the specified box to the supplied values.
  2070.  
  2071. * bname = GetBoxName([boxID])
  2072. Returns the boxname (if any) for the specified box or for the active box
  2073. if boxID is omitted. If no boxname is assigned to the box, an empty
  2074. string is returned.
  2075.  
  2076. * call SetBoxName(bxnm, name)
  2077. Sets the boxname for the box specified by bxnm.
  2078.  
  2079. offby = GetBoxOffset([bxnm])
  2080. Returns graphic offset value for the specified (or current) box.
  2081.  
  2082. call SetBoxOffset(bxnm, Xoffset, Yoffset)
  2083. Sets the graphic offset for the indicated box to Xoffset and Yoffset.
  2084.  
  2085. where = GetBoxPosition([bxnm])
  2086. Returns the values for the left, top of the specified (or current) box.
  2087.  
  2088. call SetBoxPosition(bxnm, left, top)
  2089. Sets the position of the box on the page to the position indicated by left
  2090. and top.
  2091.  
  2092. scaledto = GetBoxScale([bxnm])
  2093. Returns the X and Y graphic scale values for the specified (or current)
  2094. box.
  2095.  
  2096. call SetBoxScale(bxnm, Xscale, Y scale)
  2097. Sets the graphic scale factors for the indicated box to Xscale and Yscale.
  2098.  
  2099. howbig = GetBoxSize([bxnm])
  2100. Returns values for the width and height of the specified (or current) box.
  2101.  
  2102. call SetBoxSize (bxnm, width, height)
  2103. Sets the size of the specified box to the specified width and height.
  2104. No scaling factor is applied to any graphic contents.
  2105.  
  2106. standoff = GetBoxStandoff([bxnm])
  2107. Returns the text runaround standoff value of the specified (or current)
  2108. box.
  2109.  
  2110. call SetBoxStandoff(bxnm, standoff)
  2111. Sets the text runaround standoff value for the indicated box.
  2112.  
  2113. tabstring = GetBoxTabs([bxnm])
  2114. Returns the tabs that have been set for bxnm. Tabstring consists of
  2115. space-delimited values.
  2116.  
  2117. call SetBoxTabs (bxnm, tabstring)
  2118. This function will set the tab in bxnm to match tabstring, which must be
  2119. space-delimited; eg., tab1 tab2 tab3...
  2120.  
  2121. options = GetBoxTextWrap([bxnm])
  2122. Returns text wrap options (see below) of the specified (or current) box.
  2123.  
  2124. call SetBoxTextWrap(bxnm, type, side)
  2125. Sets the text wrap options for bxnm. Type is one of 0/1/2, corresponding
  2126. to none, rectangular and irregular. Side is one of 0/1/2/3, corresponding
  2127. to widest, left, right and exclude.
  2128.  
  2129. status = GetBoxTransparent([bxnm])
  2130. Returns the transparency of the specified (or current) box.
  2131.  
  2132. call SetBoxTransparent(bxnm, setting)
  2133. Clears/sets (0/1) the transparency of the specified box.
  2134.  
  2135. udata = GetBoxUserData(bxnm)
  2136. Returns the User Data field for bxnm (or the current box). Udata is an
  2137. integer in the range -2,000,000,000 to +2,000,000,000 (a 32-bit integer).
  2138.  
  2139. call SetBoxUserData(bxnm, data)
  2140. This function sets a User Data field in a box for use by Genies. Dat
  2141. can only be an integer in the range -2,000,000 to +2,000,000 (a 32-bit
  2142. integer). Professional Page does nothing with this data except maintain
  2143. it.
  2144.  
  2145. filtname = GetTextFilter
  2146. Returns the name of the active text filter.
  2147.  
  2148. call SetTextFilter(filtername)
  2149. Sets the active textfilter. The filtername must be supplied without the
  2150. path or the ".tf" extension; eg., "TransWrite".
  2151.  
  2152. worked = ImportAegis(bxnm, file)
  2153. Imports an Aegis Draw format drawing into an empty box (bxnm), returning
  2154. 1 if successfully loaded, 0 if an error has occurred.
  2155.  
  2156. worked = ImportBM(bxnm, file)
  2157. Imports a bitmap file into an empty box (bxnm), returning 1 if
  2158. successful, 0 if an error has occurred. The imported bitmap is scaled to
  2159. fit the box.
  2160.  
  2161. worked = ReloadBM(bxnm, file)
  2162. Same as ImportBM, but doesn't change the graphic scale or offset.
  2163. Returns 1 if successful, 0 if there has been an error.
  2164.  
  2165. worked = ImportClip(bxnm, clipname, [file])
  2166. This function imports the Professional Draw clip clipname to be found
  2167. infile. Returns 1 for success, 0 if there has been an error.
  2168.  
  2169. worked = ImportEPSF(bxnm, file)
  2170. Imports an EPSF file into an empty box (bxnm), returning 1 for success,
  2171. 0 if there has been an error.
  2172.  
  2173. worked = ImportText(bxnm, file)
  2174. Flows a textfile into an empty box (bxnm), returning 1 if the operation is
  2175. successful, 0 if there has been an error.
  2176.  
  2177. bool = LinkBox(bx1, bx2)
  2178. This function will link bx1 to bx2. In order for this to succeed, bx2
  2179. must be empty, bx1 must be the end of an article chain or empty. The text
  2180. overflow status is returned; i.e. 0 is returned if all text fits into the
  2181. boxes, 1 if some text overflows the boxes.
  2182.  
  2183. boxid = UnlinkBox([bxnm])
  2184. This function will break the article link of bxnm, causing bxnm to
  2185. become the first box of the remainder of the article.
  2186.  
  2187. boxid = SelectBox([bxnm])
  2188. Returns the boxID of the named box and makes that box the active box.
  2189. This differs from BoxNum in that this function activates the box.
  2190.  
  2191. Text Operations:
  2192.  
  2193. These are functions that are used to access and change the text
  2194. associated with a text box.
  2195.  
  2196. * char = CursorUp()
  2197. Moves the cursor up and returns the character after the cursor.
  2198.  
  2199. * char = CursorDown()
  2200. Moves the cursor down and returns the character after the cursor.
  2201.  
  2202. * char = CursorLeft()
  2203. Moves the cursor left and returns the character after the cursor.
  2204.  
  2205. * char = CursorRight()
  2206. Moves the cursor right and returns the character after the cursor.
  2207.  
  2208. * char = CursorChar()
  2209. Returns the character after the cursor.
  2210.  
  2211. * success = Cut()
  2212. Cuts the highlighted block, returning 1 if anything was cut.
  2213.  
  2214. * success = Copy()
  2215. Copies the highlighted block, returning 1 if anything was copied.
  2216.  
  2217. * success = Paste()
  2218. Pastes text at the current cursor position, returning 1 if anything was
  2219. pasted.
  2220.  
  2221. * call EditWithAE()
  2222. Sends the currently selected block or article to Article Editor for
  2223. editing.
  2224.  
  2225. * boxid = SetEdit(bxnm)
  2226. Selects a box for text editing, positioning the cursor at the first
  2227. character of the box. Returns the ID of the box selected.
  2228.  
  2229. * call EndEdit()
  2230. Exits Text Edit mode, returning to Null Pointer mode.
  2231.  
  2232. * found = Find(text, [direction], [case])
  2233. Performs a Find operation from the current cursor position. Direction
  2234. is 0 for down, 1 for up. Case is 1 to ignore case, 0 to match case. Found
  2235. text will be selected as a block. Returns 1 if found, 0 otherwise.
  2236.  
  2237. * howmany = Replace(txt1, txt2,[direction], [case], [global], [query])
  2238. Replaces txt1 with txt2. Direction and case are as above for Find. Global
  2239. is 1 for all occurrences, 0 for next occurrence only. Query is 1 to
  2240. request confirmation, 0 for no query. Returns the number of replacements.
  2241.  
  2242. * found = FindNext()
  2243. Finds the next occurrence of the text set by Find. Returns 1 if found.
  2244.  
  2245. * replaced = ReplaceNext()
  2246. Replaces next occurrence of the 'find' text with the 'replace' text (as
  2247. set by Replace). Returns 1 if replaced.
  2248.  
  2249. arttxt = GetArticleText([bxnm], [typo])
  2250. Returns the text of the article containing the indicated (or current)
  2251. box. If typo is 1, the function will output the backslash-encoded
  2252. typography codes as well, with a tiling "\".
  2253.  
  2254. * blocktxt = GetBlockText([typo])
  2255. Similar to a Block Save, but the highlighted text is returned. If typo
  2256. is 1, the function will output the backslash-encoded typography codes a
  2257. well, with a tiling "\".
  2258.  
  2259. boxtxt = GetboxText([bxnm], [typo])
  2260. Returns the text contained in the indicated (or current) box. If typo
  2261. is 1, the function will output the backslash-encoded typography codes
  2262. as well, with a trailing "\".
  2263.  
  2264. * success = InsertFile(file)
  2265. Inserts the text from file at the current cursor position.
  2266.  
  2267. * success = InsertText(text)
  2268. Inserts text at the current cursor position.
  2269.  
  2270. * call SelectAllText()
  2271. Set a block containing all text in the article.
  2272.  
  2273. * call SelectBoxText()
  2274. Set block to all text currently in box.
  2275.  
  2276. * call UnBlock()
  2277. Deselects the current block.
  2278.  
  2279. overflow = TextIntoBox(bxnm, [text])
  2280. Flows text into the empty box indicated by bxnm. When text is omitted,
  2281. the user is presented with a string requester. Returns the text overflow
  2282. status (see TextOverflow, below).
  2283.  
  2284. * overflow = TextOverflow([bxnm])
  2285. Returns 0 or 1 to indicate the overflow status of the indicated (or
  2286. current) box. If all text fits into the boxes of the article containing
  2287. bxnm, a 0 is returned. A 1 is returned if text overflows.
  2288.  
  2289. Group Operations:
  2290.  
  2291. call AddToGroup([bxnm])
  2292. Adds a box to the group; like Shift-click.
  2293.  
  2294. call DropFromGroup([bxnm])
  2295. Rewoves a box from the group; like Ctrl-click.
  2296.  
  2297. rect = GetGroupRect()
  2298. Returns left, top, width, and height of the bounding box around the
  2299. current group.
  2300.  
  2301. boxid = GroupFirstBox()
  2302. Returns the boxID of the first box in the group.
  2303.  
  2304. boxid = GroupNextBox([bxnm])
  2305. Returns the boxID of the next box in the group. This allows a Genie to
  2306. scan all boxes in a group.
  2307.  
  2308. call MergeGroup([boxname])
  2309. Merges all Professional Page structured graphics in the group, returning
  2310. the boxID of the new box.
  2311.  
  2312. call NewGroup()
  2313. Forgets the current group to prepare for the creation of a new one.
  2314.  
  2315. PPage Parameter Settings:
  2316.  
  2317. * degree = GetAngleStep()
  2318. Returns the step angle for use with interactive rotation.
  2319.  
  2320. * call SetAngleStep(degree)
  2321. Sets the step angle for use with interactive rotation.
  2322.  
  2323. * shiftamt = GetBaseline()
  2324. Returns the current baseline shift value in points.
  2325.  
  2326. * call SetBaseline(val)
  2327. Sets the baseline shift value (in points) to the position indicated by
  2328. val.
  2329.  
  2330. * outstatus = GetBoxOutlines()
  2331. Returns box outline display status.
  2332.  
  2333. * call SetBoxOutlines(status)
  2334. Makes box outlines invisible/visible (0/1).
  2335.  
  2336. * colordef = GetColorData(colname)
  2337. Returns the slash-coded color definition of the specified color name.
  2338.  
  2339. * success = DefineColor(colordefn)
  2340. Colordefn is a slash-coded color definition (refer to Appendix C in the
  2341. Professional Page User's Guide). The return is one of: 0 for an error, 1
  2342. for a successful new definition, or a number greater than 1 for indicating
  2343. that the new definition replaced an existing definition.
  2344.  
  2345. cm = GetColorMode()
  2346. Returns the current status of the Professional Page screen's color mode.
  2347.  
  2348. cm = SetColorMode(status)
  2349. Sets Color mode to 0 or 1, corresponding to Color, B&W. This function
  2350. returns the status that has been set or, if the operation fails, the
  2351. current status.
  2352.  
  2353. * colstatus = GetColllmns()
  2354. Returns the column display status.
  2355.  
  2356. * call SetColumns(status)
  2357. Turns column display on/off (0/1).
  2358.  
  2359. * datetype = GetDateFormat()
  2360. Returns the current date format. Datetype is either the European style
  2361. (0 = dd/mm/yy) or the American style (1 = mm/dd/yy).
  2362.  
  2363. * call SetDateFormat(type)
  2364. Sets the date format as defined above.
  2365.  
  2366. dm = GetDitherMode()
  2367. Returns the current color dithering mode.
  2368.  
  2369. dm = SetDitherMode(mode)
  2370. Mode is one of 0/1/2 corresponding to Smooth, Non-interlaced, Flicker
  2371. Free.
  2372.  
  2373. color = GetFillcolor()
  2374. Returns the currently selected fill color.
  2375.  
  2376. call SetFillColor (colname)
  2377. Sets the color for fills. Colname must be the name of a color defined
  2378. in the current color list.
  2379.  
  2380. num = GetFillPattern()
  2381. Returns the currently selected fill pattern.
  2382.  
  2383. call SetFillpattern(num)
  2384. Sets the fill pattern by number. Fill patterns we shown when you
  2385. highlight the Draw/Fill Pattern menu item. The patterns, corresponding
  2386. numbers we 1-8, top to bottom. A value of 0 for num signifies no fill.
  2387.  
  2388. * fontname = GetFont()
  2389. Returns the name of the currently selected font.
  2390.  
  2391. * call SetFont(fontname)
  2392. Sets the current font, returning 1 for success, 0 for error.
  2393.  
  2394. * gstatus = GetGrid()
  2395. Returns grid status.
  2396.  
  2397. * call SetGrid(status)
  2398. Clears or sets (0/1)the grid.
  2399.  
  2400. * gsize = GetGridSize()
  2401. Returns grid size (x,y).
  2402.  
  2403. * call SetGridSize(Xsize, Ysize)
  2404. Sets the size of the grid.
  2405.  
  2406. * snap = GetGridSnap()
  2407. Returns snap-to-grid status.
  2408.  
  2409. * call SetGridSnap(status)
  2410. Clews/sets (0/1) snap-to-grid.
  2411.  
  2412. * hypheni s = GetHyphenation()
  2413. Returns the current hyphenation mode.
  2414.  
  2415. * call SetHyphenation(status)
  2416. Turns hyphenation off/on (0/1)
  2417.  
  2418. * chars = GetHyphenControl()
  2419. Returns the number of characters permissible before and after the hyphen.
  2420.  
  2421. * call SetHyphenControl(head, tail)
  2422. Sets the number of characters permissible before and after the hyphen.
  2423.  
  2424. * num = GetHyphenLang()
  2425. Returns one of 0/1/2 corresponding to English/second language/third
  2426. language. See the Preferences/Hyphenation Control menu item for the
  2427. available languages in your version of Professional Page.
  2428.  
  2429. * call SetHyphenLang(num)
  2430. Num is one of 0/1/2 corresponding to English/second language/third
  2431. language.
  2432.  
  2433. * success = LoadHyphenDict(file)
  2434. Load the hyphenation exception dictionary, returning 1 for success, 0
  2435. for error.
  2436.  
  2437. * call ClearHyphenDict()
  2438. Removes the hyphenation exception dictionary from memory.
  2439.  
  2440. il = GetInterlace()
  2441. Returns the current status of the Professional Page screen's Interlace
  2442. option.
  2443.  
  2444. il = SetInterlace(status)
  2445. Sets interlace on/off (0/1). This function returns the status that has
  2446. been set or, if the operation fails, the current status.
  2447.  
  2448. ir = GetInterrupt()
  2449. Returns the current status of the Interruptible Refresh option.
  2450.  
  2451. ir = SetInterrupt(status)
  2452. Sets Interruptible Refresh off/on (0/1).
  2453.  
  2454. * justhow = GetJustification()
  2455. Returns the type of justification as 0/1/2/3 corresponding to left,
  2456. right, center or flush.
  2457.  
  2458. * call SetJustification(type)
  2459. Sets the justification mode to left, right, center Or flush corresponding
  2460. to a type of 0/1/2/3.
  2461.  
  2462. * kernis = GetKerning()
  2463. Returns the kerning on/off status.
  2464.  
  2465. * call SetKerning(status)
  2466. Clears/sets (0/1) kerning.
  2467.  
  2468. color = GetLineColor()
  2469. Returns the currently selected line color.
  2470.  
  2471. call SetLineColor(colname)
  2472. Sets the color for lines. Colname must be the name of a color defined.
  2473. in the current color list.
  2474.  
  2475. num = GetLinePattern()
  2476. Returns the currently selected line pattern.
  2477.  
  2478. call SetLinePattern(num)
  2479. Sets the line pattern by number. Line patterns are shown when yo
  2480. highlight the Draw/Line pattern menu item. The patterns, corresponding
  2481. numbers are 1 -9, top to bottom.
  2482.  
  2483. * string = GetLineSpacing()
  2484. Returns type (0/1/2 corresponding to leading, fixed and relative) and
  2485. value of current line Spacing.
  2486.  
  2487. * call SetLineSpacing(type, val)
  2488. Sets the manner and mount of line spacing. Type is one of 0/1/2
  2489. corresponding to leading, fixed and relative.
  2490.  
  2491. val = GetLineWeight()
  2492. Returns the currently selected line weight in points.
  2493.  
  2494. call SetLineWeight(val)
  2495. Sets the line stoke weight (in points).
  2496.  
  2497. * percent = GetMagMode()
  2498. Returns the current magnification percentage.
  2499.  
  2500. * call SetMagMode(percent)
  2501. If percent is not one of the offered magnification percentages, the next
  2502. lowest magnification percentage is used.
  2503.  
  2504. * numtype = GetPageNumFormat()
  2505. Returns the current numeric format for pagenumbers. Numtype will be
  2506. one of 0/1/2 corresponding to arabic/ROMAN/roman.
  2507.  
  2508. * call SetPageNumFormat(type)
  2509. Sets the manner of indicating page numbers for automatic page numbering.
  2510. Type is one of 0/1/2 corresponding to arabic/ROMAN/roman.
  2511.  
  2512. * ptag = GetParaTag()
  2513. Returns the name of the current paragraph tag.
  2514.  
  2515. * call SetParaTag(tagname)
  2516. Sets the paragraph tag to tagname. Tagname must be the name of a paragraph
  2517. tag defined in the current paragraph tag list.
  2518.  
  2519. * paradef = GetParaTagData(tagname)
  2520. Returns the slash-coded definition for the named paragraph tag.
  2521.  
  2522. * call DefineParaTag(paradefn)
  2523. Paradefn is a slash-coded paragraph tag definition (refer to Appendix 
  2524. in the main manual). The return is one of: 0 for error, 1 for success, or
  2525. a number greater than 1 for indicating that the new definition replaced
  2526. an existing definition.
  2527.  
  2528. qm = GetQuickMove()
  2529. Returns the current status of the Quick Move option.
  2530.  
  2531. qm = SetQuickMove(status)
  2532. Clears/sets (0/1) Quick Move mode. This function returns the status that
  2533. has been set or, if the operation fails, the current status.
  2534.  
  2535. * rstatus = GetRuler()
  2536. Returns ruler status.
  2537.  
  2538. * call SetRuler(status)
  2539. Turns ruler display off/on (0/1)
  2540.  
  2541. * measure = GetRulerType()
  2542. Returns ruler type. Type is one of 1/2/3/4 corresponding to 1/8", 1/6",
  2543. CM, PICA.
  2544.  
  2545. * call SetRulerType(type)
  2546. Type is as described above.
  2547.  
  2548. * fsize = GetSize()
  2549. Returns the current point size.
  2550.  
  2551. * sizeset = SetSize(size)
  2552. Sets the current point size, returning the size actually set.
  2553.  
  2554. * fstyle = GetStyle()
  2555. Returns the current text style as a string (described below).
  2556.  
  2557. * call SetStyle(style)
  2558. Sets one or more of B/I/U/O/N corresponding to bold, italic, underline,
  2559. outline and normal (plain). If more than one style is set, no spaces are
  2560. included in the string; eg. "BIU" indicates bold italic underline.
  2561.  
  2562. * stag = GetStyleTag()
  2563. Returns the current style tag.
  2564.  
  2565. * call SetStyleTag(tagname)
  2566. Sets the style tag to tagname. Tagname must be the name of a style tag
  2567. defined in the current style tag list.
  2568.  
  2569. * styledef = GetStyleTagData(tagname)
  2570. Returns the slash-coded definition for the named style tag.
  2571.  
  2572. * call DefineStyleTag(styledefn)
  2573. Styledefn is a slash-coded style tag definition (refer to Appendix C in
  2574. the main manual). The return is one of: 0 for error, 1 for success, or an
  2575. integer greater than 1 for indicating that the new definition replaced an
  2576. existing definition.
  2577.  
  2578. * tcol = GetTextColor()
  2579. Returns the current text color.
  2580.  
  2581. * call SetTextColor(colname)
  2582. Sets the text color to colname. Colname must be the name of a color
  2583. defined in the current color list.
  2584.  
  2585. minmax = GetTextGreek()
  2586. Returns the minimum and maximum size for text greeking.
  2587.  
  2588. call SetTextGreek(min, max)
  2589. Sets the minimum and maximum size for text greeking.
  2590.  
  2591. * trackval = GetTracking()
  2592. Returns the current tracking value.
  2593.  
  2594. * call SetTracking(val)
  2595. Sets tracking to the amount specified by val.
  2596.  
  2597. * measure = GetUnits()
  2598. Returns type of units in use.
  2599.  
  2600. * call SetUnits(units)
  2601. Units is one of 1/2/3 corresponding to INCH, CM, PICA.
  2602.  
  2603. wf = GetWireframe()
  2604. Returns the current status of the Wire Frame option.
  2605.  
  2606. wf = SetWireframe(status)
  2607. Clears/sets (0/1) Wireframe Graphics mode. This function returns the status
  2608. that has been set or, if the operation fails, the current status.
  2609.  
  2610. wb = GetWorkbench()
  2611. Returns the current status of the Workbench open/close option.
  2612.  
  2613. wb = SetWorkbench(Status)
  2614. Attempts to close/open (0/1) Workbench. This function returns the status
  2615. that has been set or, if the operation fails, the current status.
  2616.  
  2617. Save and Load Operations:
  2618.  
  2619. * LoadColorData(file)
  2620. Loads the specified color definitions, returning the number of definitions
  2621. loaded.
  2622.  
  2623. * SaveColorData(file)
  2624. Saves the specified color definitions, returning the number of definitions
  2625. saved.
  2626.  
  2627. success = LoadDocument(file, [autoloadBMs], [verify])
  2628. Loads the specified file into Professional Page. AutoloadBMs is used to
  2629. specify whether bitmaps are to be loaded automatically or not (1/0).
  2630. Verify if document verify has changed since last save.
  2631.  
  2632. success = SaveDocument([file])
  2633. Performs a Save operation using the current name. If file is supplied,
  2634. a Save As operation is performed, renaming the document to file.
  2635.  
  2636. success = LoadPage(pgnm, file, [autoloadBMs])
  2637. Loads the page specified by file before page pgnm.
  2638.  
  2639. success = SavePage(pgnm, file)
  2640. Saves the specified page using file as the filename.
  2641.  
  2642. * totaltags = LoadParaTags(file)
  2643. Loads the specified paragraph tag list, returning the number of tags
  2644. loaded.
  2645.  
  2646. * totaltags = SaveParaTags(file)
  2647. Saves the current paragraph tags to a file, returning the number of tags
  2648. saved.
  2649.  
  2650. * totaltags = LoadStyleTags(file)
  2651. Loads the specified style tag list, returning the number of tags loaded.
  2652.  
  2653. * totaltags = SaveStyleTags(file)
  2654. Saves the current style tags to a file, returning the number of tags
  2655. saved.
  2656.  
  2657. Dot Matrix Printing:
  2658.  
  2659. These functions' parameters refer to items generally found in the Print to Dot
  2660. Matrix requester.
  2661.  
  2662. astring = GetAutotile()
  2663. Returns the off/on status of autotiling (0/1).
  2664.  
  2665. call SetAutotile(status)
  2666. Sets autotile mode off/on (0/1).
  2667.  
  2668. status = GetDMColorCorrect()
  2669. Returns 0 or 1 corresponding to Color Correction off and on.
  2670.  
  2671. call SetDMColorCorrect(status)
  2672. Sets color correction off/on (0/1).
  2673.  
  2674. mode = GetDMDither()
  2675. Returns the dithering mode which is one of 0/1/2 corresponding to Ordered,
  2676. Halftone and Floyd-Steinberg.
  2677.  
  2678. call SetDMDither(mode)
  2679. Sets the dithering mode for printing to one of 0/1/2 corresponding to
  2680. Ordered, Halftone and Floyd-Steinberg.
  2681.  
  2682. printres = GetDMDensity()
  2683. Returns the current setting of printing density. Valid settings are:
  2684. 1/2/3/4/5/6/7.
  2685.  
  2686. call SetDMDensity(dens)
  2687. Sets the printing density. Valid settings are: 1/2/3/4/5/6/7.
  2688.  
  2689. status = GetDMEject()
  2690. Returns the eject status, either off (0) or on (1).
  2691.  
  2692. call SetDMEject(status)
  2693. Sets eject off/on (0/1).
  2694.  
  2695. status = GetDMLandscape()
  2696. Returns the status of landscape printing, off/on (0/1).
  2697.  
  2698. call SetDMLandscape(status)
  2699. Sets landscape mode off/on (0/1).
  2700.  
  2701. astring = GetDMOffset()
  2702. Returns the page offset values.
  2703.  
  2704. call SetDMOffset(Xoffset, Yoffset)
  2705. Sets the page offset to the supplied values.
  2706.  
  2707. psize = GetDMPageSize()
  2708. Returns the output page size used for autotile printing.
  2709.  
  2710. call SetDMPageSize(x, y)
  2711. Sets the output page size used for autotile printing.
  2712.  
  2713. mode = GetDMPrintMode()
  2714. Returns the printing mode as one of 0/1/2 corresponding to B&W, Grey and
  2715. Color.
  2716.  
  2717. call SetDMPrintMode(mode)
  2718. Sets the printing mode to one of 0/1/2 corresponding to B&W, Grey and
  2719. Color.
  2720.  
  2721. mode = GetDMProof()
  2722. Returns the proof mode which is either 0 or 1 corresponding to Draft and
  2723. Final.
  2724.  
  2725. call SetDMProof(mode)
  2726. Sets the proof mode to either 0 Or 1 corresponding to Draft and Final.
  2727.  
  2728. astring = GetDMScale()
  2729. Returns the scaling factors for printing.
  2730.  
  2731. call SetDMScale (Xscale, Yscale)
  2732. Sets the scaling factors to the suppliedvalues.
  2733.  
  2734. call PrintPageDM(pgnm, [copies], [sync])
  2735. Prints the indicated page. One copy is produced unless a different copies
  2736. value is supplied. If sync is 1, the function returns only after printing
  2737. is complete. If sync is 0 for asynchronous printing, the function will
  2738. return immediately.
  2739.  
  2740. call PrintDocDM([copies], [sync])
  2741. Prints one (or more) copies of the entire document. If sync is 1, the
  2742. function returns only after printing is complete. If sync is 0 for
  2743. asynchronous printing, the function will return immediately.
  2744.  
  2745. postScript Printing:
  2746.  
  2747. The parameters for these functions refer to items found in the Print to
  2748. PostScript requester.
  2749.  
  2750. csinksdata = GetCSInks()
  2751. Returns data as with SetCSInks() for Process colours only.
  2752.  
  2753. call SetCSInks(k, y, m, c, [mech])
  2754. Indicates whether or not (1/0) to print the corresponding ink on color
  2755. separation output. Mechanical inks are either all on or all off.
  2756.  
  2757. csdata = GetCSParams()
  2758. Returns data as with SetCSParams() for Process colours only.
  2759.  
  2760. call setCSParams(KLPI, KAng, YLPI, YAng, MLPI, MAng,
  2761.                  CLPI, CAng, [MechAng], [MechLPI])
  2762. Sets colour separation densities and angles for black, yellow, magenta
  2763. and cyan; optionally for mechanical colors. MechAng and MechLPI will
  2764. apply to all mechanical colors.
  2765.  
  2766. auto = GetPSAutotile()
  2767. Returns the off/on (0/1) status of PostScript autotiling.
  2768.  
  2769. call SetPSAutotile(status)
  2770. Turns PostScript autotiling off/on (0/1).
  2771.  
  2772. status = GetPS8BitBM()
  2773. Returns 0 or 1 corresponding to the off/on status of 8-bit bitmaps.
  2774.  
  2775. call SetPS8BitBM(status)
  2776. Sets 8-bit bitmaps off/on (0/1).
  2777.  
  2778. epsf = GetPSEPSF()
  2779. Returns the off/on (0/1) status of EPSF mode.
  2780.  
  2781. call SetPSEPSF(status)
  2782. Sets EPSF format off/on (0/1).
  2783.  
  2784. fontdown = GetPSFontDownload()
  2785. Returns 0 or 1 corresponding to font downloading option off/on.
  2786.  
  2787. call SetPSFontDownload(status)
  2788. Disables/enables (0/1) font downloading.
  2789.  
  2790. manual = GetPSManFeed()
  2791. Returns the off/on (0/1) status of manual feed.
  2792.  
  2793. call SetPSManFeed(status)
  2794. Sets manual feed off/on (0/1).
  2795.  
  2796. mirror = GetPSMirror()
  2797. Returns 0 or 1 corresponding to the off/on status of Mirror printing.
  2798.  
  2799. call SetPSMirror(status)
  2800. Sets mirror printing off/on (0/1).
  2801.  
  2802. neg = GetPSNegative()
  2803. Returns 0 or 1 corresponding to the off/on status of Negative printing.
  2804.  
  2805. call SetPSNegative(status)
  2806. Sets negative printing off/on (0/1).
  2807.  
  2808. psover = GetPSOverride()
  2809. Returns 0 or 1 corresponding to the off/on status of Override Custom
  2810. Specs.
  2811.  
  2812. call SetPSOverride(status)
  2813. Turns Override Custom Specs off/on (0/1).
  2814.  
  2815. device = GetPSOutput()
  2816. Returns current PostScript output path; "PAR:", "SER:" or a filename.
  2817.  
  2818. call SetPSOutput(spec)
  2819. Sets PostScript output to be directed to spec; this is usually "SER:",
  2820. "PAR:" or a specified filename.
  2821.  
  2822. modetype = GetPSPrintMode()
  2823. Returns the PostScript print mode which is one of 1/2/3/4 corresponding
  2824. to B&W, Color PostScript, 3 Color and 4 Color.
  2825.  
  2826. call SetPSPrintMode(mode)
  2827. Sets the PostScript print mode as described above.
  2828.  
  2829. proofmode = GetPSProof()
  2830. Returns one of 0/1/2 corresponding to the modes of Draft, Proof and Final.
  2831.  
  2832. call SetPSProof(mode)
  2833. Sets the PS proof mode to one of 0/l/2 corresponding to Draft, Proof,
  2834. and Final.
  2835.  
  2836. rolldata = GetPSRollPaper()
  2837. Returns the status of the roll paper option and, if on, the width of the
  2838. paper.
  2839.  
  2840. call SetPSRollPaper(status, [width])
  2841. Sets RollPaper option off/on (0/1) and, optionally, the width of the
  2842. roll.
  2843.  
  2844. csdata = GetUCRGCR()
  2845. Returns the UCR threshold and GCR values as percentages.
  2846.  
  2847. call SetUCRGCR(ucrthres, gcr)
  2848. Sets the UCR threshold value and the GCR value. Both arguments are
  2849. expressed as a percentage.
  2850.  
  2851. success = PrintDocPS([copies], [sync])
  2852. Prints one or copies copies of the entire document. Returns 1 for success,
  2853. 0 for an error or premature abort (caused by the user clicking on the
  2854. STOP! button or by issuing an ARexx AbortPrint command). If sync is 1, the
  2855. function returns only after printing is complete. If sync is 0 for
  2856. asynchronous printing, the function will return immediately.
  2857.  
  2858. success = PrintPagePS(pgnm, [copies], [sync])
  2859. Prints one or copies copies of the current page. Returns 1 for success,
  2860. 0 for an error or premature abort (as described above). If sync is 1, the
  2861. function returns only after printing is complete. If sync is 0 for
  2862. asynchronous printing, the function will return immediately.
  2863.  
  2864. Thumbnail printing:
  2865.  
  2866. These functions correspond to items in the Print to Thumbnail requester.
  2867.  
  2868. thumbsize = GetThumbNum()
  2869. Returns one of 2/3/4/5 corresponding to the size of Thumbnail printing;
  2870. i.e., 2x2, 3x3, 4x4 and 5x5.
  2871.  
  2872. call SetThumbNum(num)
  2873. Sets the size of Thumbnail printing. Num is one of 2/3/4/5 corresponding
  2874. to 2x2, 3x3, 4x4 and 5x5.
  2875.  
  2876. success = PrintgocThumb([copies], [sync])
  2877. Prints one or copies copies of the entire document. If sync is 1, the
  2878. function returns only after printing is complete. If sync is 0 for
  2879. asynchronous printing, the function will return immediately.
  2880.  
  2881.  
  2882.                   Professional Page Quick Reference Card
  2883.                   --------------------------------------
  2884.  
  2885. KEYBOARD EQUIVALENTS
  2886. . Ax   Hold the right Amiga key and press key "x"
  2887. . ax   Hold the ALT key down and press key "x"
  2888. . cx   Hold the CONTROL key down and press key "x"
  2889. . sx   Hold the SHIFT key down and press key "x"
  2890. NOTE: Keyboard equivalents are CASE SENSITIVE!
  2891.  
  2892. Professional Page:
  2893. Project Menu
  2894. Project/New                             AN
  2895. Project/Open                            AO
  2896. Project/Save                            AS
  2897. Project/Save As                         AZ
  2898. Project/Information                     AI
  2899. Project/Import/Text                     AT
  2900. Project/Import/Bitmap Graphic           AG
  2901. Project/Import/Aegis Draw drawings      A=
  2902. Project/Import/Professional Draw Clip   AD
  2903. Project/Import/Encapsulated PostScript  AE
  2904. Project/Output/Dot Matrix               AM
  2905. Project/Output/PostScript               AP
  2906. Project/Output/Thumbnail                AX
  2907. Project/About                           AU
  2908. Project/Quit                            AQ
  2909.  
  2910. Page Menu
  2911. Page/Create/From Template               cT
  2912. Page/Create/From Default                cN
  2913. Page/Load/New Current                   cC
  2914. Page/Load/Even Template                 cE
  2915. Page/Load/Odd Template                  cO
  2916. Page/Save/Current                       sC
  2917. Page/Save/Even Template                 sE
  2918. Page/Save/Odd Template                  sO
  2919. Page/Delete                             cD
  2920. Page/Alter/Current                      aC
  2921. Page/Alter/Even Template                aE
  2922. Page/Alter/Odd Template                 aO
  2923. Page/Alter/Default                      aZ
  2924. Page/Make Template/Even                 sY
  2925. Page/Make Template/Odd                  sZ
  2926. Page/Visible                            cV
  2927.  
  2928. Box Menu
  2929. Box/Show Active                         aX
  2930. Box/Clone Active                        aK
  2931. Box/Delete Active                       sDEL
  2932. Box/Alter/Active                        aA
  2933. Box/Alter/Default                       aB
  2934.  
  2935. Group Menu
  2936. Group/Clone                             sK
  2937. Group/Delete                            cDEL
  2938. Group/Forget                            sG
  2939. Group/Align/Top                         sT
  2940. Group/Align/Bottom                      sQ
  2941. Group/Align/Left                        sJ
  2942. Group/Align/Right                       sR
  2943. Group/Center/Vertically                 sV
  2944. Group/Center/Horizontally               sH
  2945. Group/Center/Both                       sX
  2946. Group/Merge                             sA
  2947.  
  2948. Tag Menu
  2949. Tag/Style Tag/Add New                   sU
  2950. Tag/Style Tag/Modify                    sM
  2951. Tag/Style Tag/Delete                    sD
  2952. Tag/Style Tag/Load                      sL
  2953. Tag/Style Tag/Save                      sS
  2954. Tag/Paragraph Tag/Add New               aU
  2955. Tag/Paragraph Tag/Modify                aM
  2956. Tag/Paragraph Tag/Delete                aD
  2957. Tag/Paragraph Tag/Load                  aL
  2958. Tag/Paragraph Tag/Save                  aS
  2959.  
  2960. Type Menu
  2961. Type/Typeface/New                       AF
  2962. Type/Size/New                           A.(period)
  2963. Type/Style/Plain                        F10
  2964. Type/Style/Bold On                      F6
  2965. Type/Style/Bold Off                     sF6
  2966. Type/Style/Italics On                   F7
  2967. Type/Style/Italics Off                  sF7
  2968. Type/Style/Outline On                   F8
  2969. Type/Style/Outline Off                  sF8
  2970. Type/Style/Underline On                 F9
  2971. Type/Style/Underline Off                sF9
  2972. Type/Color                              AC
  2973. Type/Style Tag                          AA
  2974. Type/Paragraph Tag                      AV
  2975. Type/Kerning                            AK
  2976. Type/Tracking                           AW
  2977. Type/Line Spacing                       AY
  2978. Type/Baseline                           AB
  2979. Type/Hyphenation                        AH
  2980. Type/Justification/Left                 AL
  2981. Type/Justification/Right                AR
  2982. Type/Justification/Center               A-
  2983. Type/Justification/Flush                AJ
  2984.  
  2985. Edit Menu
  2986. Edit/Paste                              F1
  2987. Edit/Cut                                sF1
  2988. Edit/Copy                               cF1
  2989. Edit/Unmark Block                       sF5
  2990. Edit/Save Block                         F5
  2991. Edit/Select Box                         F4
  2992. Edit/Select All                         sF4
  2993. Edit/Find                               F2
  2994. Edit/Replace                            F3
  2995. Edit/Find Next                          sF2
  2996. Edit/Replace Next                       sF3
  2997. Edit/Article Editor                     A/
  2998.  
  2999. Draw Menu
  3000. Draw/Line Color                         sI
  3001. Draw/Fill Color                         sF
  3002. Draw/Line Weight/Custom                 sW
  3003.  
  3004. Preferences Menu
  3005. Preferences/Magnification/200%          A1
  3006. Preferences/Magnification/100%          A2
  3007. Preferences/Magnification/50%           A3
  3008. Preferences/Magnification/33%           A4
  3009. Preferences/Magnification/25%           A5
  3010. Preferences/Magnification/Facing Pages  A7
  3011. Preferences/Magnification/Thumbnail     A8
  3012. Preferences/Layout Tools                aT
  3013. Preferences/Page & Date Formats         aP
  3014. Preferences/Hyphenation Control         aH
  3015. Preferences/Text Greeking Control       aG
  3016. Preferences/Compugraphic Font Control   aF
  3017. Preferences/Quickmove                   aQ
  3018. Preferences/Wireframe Graphics          aW
  3019. Preferences/Black & White               aN
  3020. Preferences/Interlace Screen            aI
  3021. Preferences/Interruptible Refresh       aR
  3022. Preferences/Workbench Screen            aV
  3023.  
  3024. Other non-menu Shortcuts:
  3025. Box Lock Toggle                         cL
  3026. Box Impermeable Toggle                  c[
  3027. Box Quick Display Toggle                cX
  3028. Box Frame Toggle                        cF
  3029. Set Units to Inches                     cI
  3030. Set Units to Picas                      cP
  3031. Set Units to Centimeters                cM
  3032. Grid Toggle                             cG
  3033. Snap to Grid Toggle                     cS
  3034. Ruler Toggle                            cR
  3035. Box Outline Toggle                      cB
  3036. Column Toggle                           cK
  3037. Page Up                                 s>
  3038. Page Down                               s<
  3039. Box to Back                             sB
  3040. Box to Front                            s^
  3041. Next Linked Box                         sN
  3042. Previous linked Box                     sP
  3043. Thinspace                               aSPACE
  3044. EN space                                cSPACE
  3045. EM space                                sSPACE
  3046. Previous Page Number in Text            c1
  3047. Current Page Number in Text             c2
  3048. Next Page Number in Text                c3
  3049. Current Date in Text                    c4
  3050. Document Creation Date in Text          c5
  3051. Box Break - force text to next box      cRETURN
  3052. move Screen View up 1/5 screen          UP
  3053. Move Screen View up 4/5 screen          sUP
  3054. Move Screen View to top of Page         cUP
  3055. Move Screen View down 1/5 screen        DOWN
  3056. Move Screen View down 4/5 screen        sDOWN
  3057. Move Screen View to bottom of Page      cDOWN
  3058. Move Screen View left 1/5 screen        LEFT
  3059. Move Screen View left 4/5 screen        sLEFT
  3060. Move Screen View to left edge of Page   cLEFT
  3061. Move Screen View right 1/5 screen       RIGHT
  3062. Move Screen View right 4/5 screen       sRIGHT
  3063. Move Screen View to right edge of Page  cRIGHT
  3064. Increase Tracking in Text Edit mode     LEFT
  3065. Decrease Tracking in Text Edit mode     RIGHT
  3066. Increase Baseline in Text Edit mode     UP
  3067. Decrease Baseline in Text Edit mode     DOWN
  3068.  
  3069. Other Shortcuts in Professional Page:
  3070. Menu extended Select
  3071. Users making several menu selections at once can use extended select
  3072. by holding the right mouse button down and hitting the select mouse
  3073. button (left) over each desired menu selection.
  3074.  
  3075. Double Clicking
  3076. names in list requesters can generally be selected by double clicking
  3077. on the desired name. This has the same effect as clicking on the name
  3078. and then selecting "OK".
  3079.  
  3080. RETURN key.
  3081. Generally, when a requester asks for information to be typed in pressing
  3082. RETURN after the text will select the "OK" gadget on the requester.
  3083.  
  3084. SPACE screen refresh
  3085. When not in Text editing mode, hitting the SPACE bar will cause the
  3086. entire screen to be refreshed. This particulary useful in the
  3087. Preferences/Interruptible Refresh is on.
  3088.  
  3089. The Article Editor:
  3090. Project Menu
  3091. Project/Load                            AO
  3092. Project/Save                            AS
  3093. Project/Save As                         AZ
  3094. Project/Environment/Load Configuration  A=
  3095. Project/Environment/Save Configuration  A0
  3096. Project/Environment/Load Macros         A8
  3097. Project/Environment/Save Macros         A9
  3098. Project/WP/Import Document              A#
  3099. Project/WP/Export Document              A$
  3100. Project/Screen Format/Workbench         A%
  3101. Project/Screen Format/Med-Res           A^
  3102. Project/Screen Format/Interlace         A&
  3103. Project/Quit                            AQ
  3104.  
  3105. Edit Menu
  3106. Edit/Cut                                sF1
  3107. Edit/Copy                               aF1
  3108. Edit/Paste                              F1
  3109. Edit/Cut Word                           AW
  3110. Edit/Cut Sentence                       AE
  3111. Edit/Cut Paragraph                      AR
  3112. Edit/Cut Line                           AD
  3113. Edit/Clear Highlight                    sF5
  3114. Edit/Highlight All                      sF4
  3115. Edit/Instert File                       AT
  3116. Edit/Save Highlight Region              F5
  3117. Edit/Erase All Text                     A\
  3118.  
  3119. Commands Menu
  3120. Commands/Find/Replace                   F2 or F3
  3121. Commands/Search Again                   sF2 or sF3
  3122. Commands/Translate document             A"
  3123. Commands/Spell-Check Word               aF7
  3124. Commands/Spell-Check To End             aF8
  3125. Commands/Real Time Spell Check          aF9
  3126. Commands/Toggle Insert Mode             a3
  3127. Commands/Toggle Paragraph Marking       aM
  3128. Commands/Convert to Lower Case          AL
  3129. Commands/Convert to Upper Case          AU
  3130.  
  3131. Special Menu
  3132. Special/Set Options                     aF2
  3133. Special/Set Colors                      aF3
  3134. Spacial/Count Words                     aF4
  3135. Special/Analyze Document                A?
  3136. Special/Refresh Window                  sF10
  3137. Special/Join Single Lines               AJ
  3138. Special/Separate Lines                  A@
  3139. Special/Show PPage Codes                A6
  3140. Special/Hide PPage Codes                A7
  3141. Special/Send Text Home                  A/
  3142. Special/Line Spacing                    A+
  3143.  
  3144. Styles Menu
  3145. Styles/Bold Text                        F6
  3146. Styles/Italic Text                      F7
  3147. Styles/Underlined Text                  F9
  3148. Styles/Bold Off                         sF6
  3149. Styles/Italic Off                       sF7
  3150. Styles/Underlined Off                   sF9
  3151. Styles/Normal Text                      F10
  3152.  
  3153. Cursor Menu
  3154. Cursor/Top Of File                      cUP
  3155. Cursor/End Of File                      CDOWN
  3156. Cursor/Up Screen                        aUP
  3157. Cursor/Down Screen                      aDOWN
  3158. Cursor/Up Paragraph                     sUP
  3159. Cursor/Down Paragraph                   sDOWN
  3160. Cursor/Start of Line                    sRIGHT
  3161. Cursor/Previous Word                    aLEFT
  3162. Cursor/Next Word                        aRIGHT
  3163. Cursor/Center Cursor                    cC
  3164. Cursor/Restore Position                 scC
  3165.  
  3166. Other Article Editor Shortcuts
  3167. Begin Highlight Range                   aF5
  3168. End Highlight Range                     aF6
  3169.  
  3170.  
  3171. FORMATTING TEXT
  3172.  
  3173. Note that all formatting commands consists of a backslash (\) followed
  3174. by a number of codes. No space should be left between the backslash and
  3175. the code. Some codes are followed by a paramter, either a number (integer
  3176. or float) or a name giving further information. If a parameter is needed
  3177. type the less than sign (<), the number, and the closing greater than
  3178. sign (>). Note that the letter case of the formatting code is significant.
  3179. Some formatting codes must be terminated by the RETURN key.
  3180.  
  3181. Font:
  3182. ff<name>        font name
  3183. fs<integer>     pointsize(2->720)
  3184.  
  3185. Line Spacing:
  3186. lf<float>       linespacing fixed (points)
  3187. lr(integer)     linespacing relative (% of largest pt size)
  3188. ll<float>       linespacing leading (points)
  3189. ls<float>       baseline shift (points)
  3190.  
  3191. Justification:
  3192. jl              left justification
  3193. jr              right justification
  3194. jc              center justification
  3195. jf              flush justification
  3196.  
  3197. Paragraph:
  3198. pi              paragraph indent
  3199. po              paragraph oudent
  3200. pn              no paragraph indent
  3201. ps<integer>     paragraph spacing (% of line spacing)
  3202.  
  3203. Color:
  3204. c<name>         color
  3205.  
  3206. Styling:
  3207. B               bold on
  3208. b               bold off
  3209. I               italic on
  3210. i               italic off
  3211. U               underline on
  3212. u               underline off
  3213. O               outline on
  3214. o               outline off
  3215. n               plain text
  3216.  
  3217. Kerning & Tracking:
  3218. K               kerning on
  3219. k               kerning off
  3220. t<integer>      tracking (% of EM space)
  3221.  
  3222. Hyphenation:
  3223. H               hyphenation on
  3224. h               hyphenation off
  3225.  
  3226. Miscellaneous:
  3227. .               end of text
  3228. P               new paragraph
  3229. M               M space
  3230. N               N space
  3231. T               Thin space
  3232. s               TAB
  3233. -               soft hyphen
  3234.  
  3235. Comments:
  3236. ?<comment>
  3237.                 comment - these comments are ignored by Professional
  3238.                 Page and are there for your convenience only.
  3239.  
  3240. Page Number & Date:
  3241. #<option>       macro code for page number and date text insertion
  3242.      options are:
  3243.                 "Pp#" Page number of previous article box
  3244.                 "Pc#" Current page number
  3245.                 "Pn#" Page number of next article box
  3246.                 "Dc#" Creation date
  3247.                 "Dp#" Printing (Current) date
  3248.      where # is the format number:
  3249.                 1 -> 3 for page number
  3250.                 1 -> 2 for date format
  3251.  
  3252. Box Break:
  3253. !               Box break
  3254.  
  3255. Tags:
  3256. dS<name>        begin style tag <name>
  3257. ds              end style tag
  3258. dP<name>        begin paragraph tag <name>
  3259. dp              end paragraph tag
  3260.  
  3261. Color, Style Tag, Paragraph Tag definitions:
  3262. Imbedded codes can also be used to include definitions for colors, style
  3263. tags, and paragraph tags, imbedded in the text. To do this, use the
  3264. following codes:
  3265.  
  3266. Define Color:
  3267. DC<name{Cs<15,10,3>Cp<.4,1.0,.6,.0>FcMa<45.0>Md<3.6>}>
  3268. where the codes inside the {} brackets can be one or more of the
  3269. following:
  3270. Cs<integer,integer,integer>     screen color <red,green,blue>
  3271.                                 values are 0 -> 15
  3272. Cp<float,float,float>           printed colors
  3273.                                 <yello,magneta,cyan,black>
  3274.                                 values are 0.0 -> 100.0 (%)
  3275.      If r,g,b are not defined, they are calculated from y,m,c,k.
  3276.      If y,m,c,k are not defined, they are calculated from r,g,b.
  3277.      If neihter the above are defined, the color is black.
  3278. Fc              set custom color flag
  3279. Fm              set mechanical color flag
  3280. Fn              set no underground removal flag
  3281. Ma<float>       PostScript screen angle for mechanical color
  3282. Md<float>       postScript screen densiry for mechanical color
  3283.  
  3284. Define Style Tag:
  3285. DS<name{slash coded definition : \ff<Times>\fs<24>...{>
  3286. where the codes inside the {} brackets can be one or more of the standard
  3287. formatting codes (Note: you must include the \ character).
  3288. If any of the typographical fields is not defined, that attribute will
  3289. not be affected in the style tag.
  3290.  
  3291. Define Paragraph Tag:
  3292. DP<name{UiMl<1.0>Mr<1.0>Pi<2.0>Ps<100>Ts<.5>Ts<1.0>...}>
  3293. where the codes inside the {} brackets can be one or more of the
  3294. following:
  3295. Ui              units used in the paragraph definition is inches
  3296. Uc              units used in the paragraph definition is centimeters
  3297. Up              units used in the paragraph definition is picas
  3298. Ml<float>       left margin (see note below)
  3299. Mr<float>       right margin (see note below)
  3300. Mb              use box margins (default)
  3301. Pi<float>       paragraph indent and value
  3302. Po<float>       paragraph outdent and value
  3303. Pn              no paragraph indent
  3304. Ps<integer>     paragraph spacing
  3305. SW<integer>     maximum inter-word spacing
  3306. SC<integer>     maximum inter-character spacing
  3307. Ts<float>       define tab locations (up to 16 can be defined)
  3308. Tb              use box tabs (default)
  3309. If any of the above is not specified, default values will be used.
  3310. Note: the value used in MI & Mr can be in the form:
  3311.      <value>    value overrides box margins
  3312.      <+value>   add value to box margins
  3313.      <-value>   subtract value from box margins
  3314.  
  3315.  
  3316.